求各位c++高手帮忙!!!
1个回答
展开全部
你的程序的错误之处在于:(1)第一个cin 和if(s100){}循环中的cin.有问题。
(2) while (a>=3)的条件错了。
原因:之所以出现你说的这个情况(只能2次就退出了),是因为while 循环条件你弄错了,do -while 是出口循环,先执行do {}中的循环体,然后再判断while中的判别式,如果判别式为true,继续执行循环体,否则终止循环。
你这个程序,第一次执行第一个cin,第二次执行d0-while 循环,不管你输入的是否是多少(100),因为初值是0,之后变成0(你输入的是0~100),或者1(你输入的100),while的条件a>=3都不满足,所以退出循环,程序结束了。就是你说这个情况。
一种正常的程序如下:
#include
using namespace std;
int main()
{
int i,s,a=0;
do{
cout<<"你考试考了多少分?(0~100)"<<endl;
cin>>s;
if(s100)
{
a++;
cout<<"chongxinshuru";
}
else{
i=s/10;
switch(i)
{
case 10:
case 9:
cout<<"you"<<endl;
break;
case 8:
cout<<"liang"<<endl;
break;
case 7:
case 6:
cout<<"zhong"<<endl;
break;
default:
cout<<"cha"<<endl;
}
}
}while(a<3);
return 0;
}
你能成功的。
(2) while (a>=3)的条件错了。
原因:之所以出现你说的这个情况(只能2次就退出了),是因为while 循环条件你弄错了,do -while 是出口循环,先执行do {}中的循环体,然后再判断while中的判别式,如果判别式为true,继续执行循环体,否则终止循环。
你这个程序,第一次执行第一个cin,第二次执行d0-while 循环,不管你输入的是否是多少(100),因为初值是0,之后变成0(你输入的是0~100),或者1(你输入的100),while的条件a>=3都不满足,所以退出循环,程序结束了。就是你说这个情况。
一种正常的程序如下:
#include
using namespace std;
int main()
{
int i,s,a=0;
do{
cout<<"你考试考了多少分?(0~100)"<<endl;
cin>>s;
if(s100)
{
a++;
cout<<"chongxinshuru";
}
else{
i=s/10;
switch(i)
{
case 10:
case 9:
cout<<"you"<<endl;
break;
case 8:
cout<<"liang"<<endl;
break;
case 7:
case 6:
cout<<"zhong"<<endl;
break;
default:
cout<<"cha"<<endl;
}
}
}while(a<3);
return 0;
}
你能成功的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询