啊哈磊_编程从这里起步
标题:
谁能告诉我代码哪里错了???
[打印本页]
作者:
lyx0205
时间:
2014-2-16 15:20
标题:
谁能告诉我代码哪里错了???
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,sum;
sum=6;
srand((unsigned)time(NULL));
a=rand()%100;
while(1)
{
sum--;
scanf("%d",&d);
if(b>a)
printf("大了,还剩下%d次机会,请继续\n,sum");
if(b<a)
printf("小了,还剩下%d次机会,请继续\n,sum");
if(b==a)
{
printf("恭喜你,答对了!\n");
break;
}
if(sum==0)
{
printf("已经没有机会了,请重新开始");
}
}
system("pause");
return 0;
}
这串代码哪错了???
作者:
981013
时间:
2014-2-16 15:20
本帖最后由 981013 于 2014-2-16 16:10 编辑
论坛脑子坏了,老把我下半部分代码截掉
break;
}
复制代码
}
#ifdef _WIN32
system("pause");
#else
printf("Press any key to continue......");
getchar();
#endif
return 0;
}
复制代码
作者:
lyx0205
时间:
2014-2-16 15:21
紧急啊!给我邮箱发邮件
1179306157@qq.com
作者:
lyx0205
时间:
2014-2-16 15:24
除了后面没加break
作者:
981013
时间:
2014-2-16 15:52
本帖最后由 981013 于 2014-2-16 16:05 编辑
scanf("%d",&d);
没有d这个变量,估计是打错了,原来是b
printf("大(小)了,还剩下%d次机会,请继续\n,sum");
sum应在“”外
6次答错后未使用break跳出循环,因此6次答错后仍能继续答题
修改后的代码(因存在系统差异而进行了一些微调):
#include <stdio.h>
#include <stdlib.h>
#ifndef _WIN32
#include <unistd.h>
#endif // _WIN32
int main()
{
int a,b,sum;
sum=6;
srand((unsigned)time(NULL));
a=rand()%100;
while(1)
{
sum--;
scanf("%d",&b);
if(b>a)
printf("大了,还剩下%d次机会,请继续\n",sum);
if(b<a)
printf("小了,还剩下%d次机会,请继续\n",sum);
if(b==a)
{
printf("恭喜你,答对了!\n");
break;
}
if(sum==0)
{
printf("已经没有机会了,请重新开始\n");
复制代码
作者:
超神级
时间:
2014-2-16 17:43
大家真热心!
作者:
lyx0205
时间:
2014-2-16 18:34
e
你的也是%d啊
作者:
lyx0205
时间:
2014-2-16 18:38
还有,能不能再帮我个忙,那个代码一下子6此机会全没了,我只输入了一次
作者:
rosynirvana
时间:
2014-2-16 20:05
我记得这是书上的例子啊
想知道问题在哪里为什么不好好和书上比对一下呢
欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/)
Powered by Discuz! X3.2