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吧。图片说明图片说明图片说明图片说明图片说明图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?