问题描述
- c语言问题求大神指导!!
- #include""stdio.h""
#include""stdlib.h""
void main()
{
int problemguess=1a;
char ch;
problem=(int)(rand()%899+1);
scanf(""%f%d""&ch&guess);
for(a=0;ch!='n';a++)
for(a=0;guess==problem;a++)
{if(guess>problem)
printf(""too high"");
if(guess<problem)
printf(""too low"");
scanf(""%d""&guess);
}
printf(""%d""problem);
scanf(""%f""&ch);
}为什么运行不起来 scanf(""%f%d""&ch&guess);只输入完这个语句够,界面就不动了
解决方案
帮你改了一下,大概你要的是这种效果吧。
#include""stdio.h"" #include""stdlib.h""int main() { int problemguess=1; char ch; problem=(int)(rand()%899+1); scanf(""%c%d""&ch&guess); for(;ch!='n';){ for(;guess!=problem;) {if(guess>problem) printf(""too highn""); if(guess<problem) printf(""too lown""); scanf(""%d""&guess); } printf(""You are right!The number is %dn""problem); scanf(""%c""&ch); } return 0; }
解决方案二:
for循环中间一个分号前面是判断条件吧,也就是说,如果你的ch=n,根本就不会进入循环了 。我看看rand什么意思。
解决方案三:
scanf(""%f%d""&ch&guess); ch是字符,应该是%c
problem=(int)(rand()%899+1); rand的标准式你找个实例看一下,注意+1的位置
for(a=0;ch!='n';a++);for(a=0;guess==problem;a++) 逻辑乱,建议While
你是要做一个猜数字的简单游戏吧,百度一下,看看别人的,代码,你会进步的
解决方案四:
醉卧美人膝先生的建议应该采纳
解决方案五:
第二个for循环的==那里有错误?
解决方案六:
#include""stdio.h""int main() { int problemguess=1; char ch; problem=(int)(rand()%899+1); scanf(""%c%d""&ch&guess); for(;ch!='n';){ for(;1;){ if(guess>problem) printf(""too highn""); if(guess<problem) printf(""too lown""); if(guess==problem){ printf(""You are right!The number is %dn""problem); break; } scanf(""%d""&guess); } getchar(); scanf(""%c""&ch); } return 0; }
感觉这样可能好一点点。
时间: 2024-10-29 15:07:29