abc857622530
abc857622530
采纳率0%
2016-04-03 16:46 阅读 2.0k

求助 怎么让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条回答 默认 最新

  • doglist 黑山姥姥 2016-04-03 18:11

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

    点赞 评论 复制链接分享

相关推荐