用户:
KJI夕狌查看:1 回复:6 评论:1 创建时间:2024-02-05T21:18:45
#include<bits/stdc++.h>
using namespace std;
int main(){
int q,w,e;
srand(time(0));
q=rand()%1000+1;
e=1;
do{
cin>>w;
if (w>q&&w!=2010)
cout<<"too big"<<endl;
if (w<q)
cout<<"too 喵all"<<endl;
if (w=2010)
cout<<q<<endl;
e+=1;
}while(q!=w);
cout<<"you are right. try"<<e<<endl;
return 0;
}
为啥我输完2010后,跳出正确答案后
我输入正确答案它却跳不出循环?
NaitOad其二,w=2010要改成w==2010,你这个的意思是,把w变成2010,然后表达式的结果就是w的值,w就注定是2010,表达式一定成立,所以不管输入啥此表达式都成立,就会一直输出正确答案对吗?
点赞0
评论
顾雨晨QWQ存在一个逻辑错误。当程序检查w是否等于2010时,条件判断语句使用了赋值运算符(=)而不是比较运算符(==)。因此,该条件实际上是在将w设置为2010,而不会进行任何比较操作。由于这个原因,即使您输入了正确的答案,程序也不会退出循环,因为它没有正确地检测到相等的情况。
点赞0
评论
#include<bits/stdc++.h>
using namespace std;
int main(){
int q,w,e;
srand(time(0));
q=rand()%1000+1;
e=0;
do{
cin>>w;
if (w>q&&w!=2010)
cout<<"too big"<<endl;
if (w<q)
cout<<"too 喵all"<<endl;
if (w==2010)
cout<<q<<endl;
e+=1;
}while(q!=w);
cout<<"you are right. try"<<e<<endl;
return 0;
}
还有你的判断在e之后,所以e的初始值应该为0,不然次数会多一
点赞0
评论