问一道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循环为啥用不上。。 展开
#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循环为啥用不上。。 展开
4个回答
展开全部
你没有判断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;
}
}
#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;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你写的让人很无语
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的for用的是k啊不是i
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询