请C++高手帮我看看这一段代码哪里出错了。。

2024-12-23 08:40:50
推荐回答(3个)
回答1:

int main()
{
int Q=1;
while(Q!=10) //这里条件就不对 Q==10 所以永远不会进入循环内部
{
int a,b,m,c;
A:
cin>>a;
cout<<"你输入的数字为"< cout<<"是否确定(Y/N)";
cin>>c;
//此处"Y"(字符串) 应改为 'Y'(字符)
//字符串不能直接与int型变量比较
if (c=='Y'||c=='y') //if判断语句需要加()
goto B;
else if (c=='N'||c=='n')
goto A;
else
cout<<"输入错误"<<"\n";
goto A;
B:
cin>>b;
cout<<"你输入的数字为"< cout<<"是否确定(Y/N)";
cin>>c;
if (c=='Y'||c=='y')
goto C;
else if (c=='N'||c=='n')
goto B;
else
cout<<"输入错误"<<"\n";
goto B;
C:
m=max(a,b);
Q++;
cout<<"你所计算的最大值为"< }
return 0;
}

回答2:

#include
#include
using namespace std;
int max(int x,int y)
{
int z;
if (x>=y) z=x;
else z=y;
return(z);
}
int main()
{
int Q=1;
while(Q==10);
{
int a,b,m;
string c;
A:
cin>>a;
cout<<"你输入的数字为"< cout<<"是否确定(Y/N)";
cin>>c;
if (c=="Y") goto B;
else if (c=="N") goto A;
else cout<<"输入错误"<<"\n";
goto A;
B:
cin>>b;
cout<<"你输入的数字为"< cout<<"是否确定(Y/N)";
cin>>c;
if (c=="Y") goto C;
else if (c=="N") goto B;
else cout<<"输入错误"<<"\n";
goto B;
C:
m=max(a,b);
Q++;
cout<<"你所计算的最大值为"< }
return 0;
}

只是改成能通过编译,其它错误自己找找吧,还有请认真看书。

回答3:

自己对比
#include
using namespace std;
int max(int x,int y)
{
int z;
if (x>=y)
z=x;
else z=y;
return(z);
}
int main()
{
int Q=1;
while(Q==10);
{
int a,b,m,d;
char c;
A:
cin>>a;
cout<<"你输入的数字为"< cout<<"是否确定(Y/N)";
cin>>c;
if (c=='Y')
goto B;
else if (c=='N')
goto A;
else cout<<"输入错误"<<"\n";
goto A;
B:
cin>>b;
cout<<"你输入的数字为"< cout<<"是否确定(Y/N)";
cin>>c;
if (c=='Y')
goto C;
else if (c=='N')
goto B;
else
cout<<"输入错误"<<"\n";
goto B;
C:
m=max(a,b);
Q++;
cout<<"你所计算的最大值为"< }
return 0;
}