问一道C语言问题,求教

程序3编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,... 程序3 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,结束游戏。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{int a,n,k,i=1,random_number;

srand((unsigned)time(NULL));

{
random_number=rand()%100+1;

}
a=random_number;
scanf("%d",&n); if(n==a) printf("right\n ");
else if(n>a) printf("too high\n ");
else printf("too low\n ");
for(k=0;k<=9;k++)
{
while(n!=a)
{
scanf("%d",&n);
if(n>a) printf("too high\n ");
if(n<a) printf("too low\n ");

i++;

}
printf("right\n");

printf("do %d times\n ",i);

}

}

为啥我的程序不能实现i大于10就结束,我的FOR循环为啥用不上。。
展开
 我来答
feelmeu
2010-11-30 · TA获得超过617个赞
知道小有建树答主
回答量:402
采纳率:66%
帮助的人:162万
展开全部
因为你没限定 i 和10有任何的直接关系啊...

那个k循环一点意义都没有 里面的n!=a 只要不成立就会一直执行

总之下面这里写的很混乱
qinpeifeng107
2010-11-30 · TA获得超过237个赞
知道小有建树答主
回答量:172
采纳率:0%
帮助的人:134万
展开全部
你没有判断i大于10应该做的事件,还有你的代码很冗余!

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{int a,n,k,i=0,random_number;

srand((unsigned)time(NULL));

{
random_number=rand()%100+1;

}
a=random_number;
for(int count=10;count!=0;count--)
{
i++;
scanf("%d",&n);
if(n>a){ printf("too high.你还有%d次机会!\n ",count);}
else if(n<a) {printf("too low.你还有%d次机会\n ",count);}
else if(n==a) {printf("right\n ");break;}

}
if(count==0)
{
printf("你的机会已用完,游戏已结束!\n");
printf("do %d times\n ",i);
return;

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ckh1230
2010-11-30 · 超过14用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:21.7万
展开全部
你写的让人很无语
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pengduo66
2010-11-30 · TA获得超过114个赞
知道小有建树答主
回答量:282
采纳率:0%
帮助的人:223万
展开全部
你的for用的是k啊不是i
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式