abc857622530 2016-04-03 16:46 采纳率: 0%
浏览 2111

求助 怎么让while循环中有输入的时候让程序完成后停下来 题目中没有结束标志 晕

#include
#include
#include
using namespace std;
void output();
int check();
int a[1000]={0},n=0,flag=1,g;
char b[50],c[50],d;
int init();
void search(int m);

int main()
{
while(init())
{
cout <<"["<<endl;
search(0);
cout <<"]"<<endl;
flag=1;
n=0;
g=0;
}
return 0;
}

int check()
{
int k=0,top=-1,m=0,r=0;
char st[50];
flag=1;
for (int i=0;i<n;i++)
{
if (a[i]==1)k++;

}

if (k==n/2)
{
        for (int i=0;i<n;i++)
    {
        if (a[i]==1) top++,st[top]=b[r],r++;
        else{
            if (st[top]==c[m])
            {
                m++;
              top--;
            }
            else {
                 flag=0;
                 break;
            }
        }
    }
}
else flag=0;
free(st);
return (flag);

}

int init ()
{
g=1;
int k=0;
char h;
while((d=getchar())!='\n')
{
b[k++]=d,n++;
}
k=0;
while((d=getchar())!='\n')
{
c[k++]=d,n++;
}
return g;
}
void search(int m)
{
if(m==n){
check();
if (flag) output();
}

else
{
    a[m]=1;
    search(m+1);
    a[m]=0;
    search(m+1);
}

}
void output()
{
for (int i=0;i<n;i++)
{
if (a[i]==0) cout <<"o";
else cout <<"i";
}
cout <<endl;
}

  • 写回答

1条回答

  • 黑山姥姥 2016-04-03 18:11
    关注

    break吧。图片说明图片说明图片说明图片说明图片说明图片说明

    评论

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站