题目:猜数游戏
/*2020年3月23日10:29:11
目的 :做题
题目 :
猜数游戏。
首先通过计算机产生一个10~100之间的随机整数,然后由人来猜这个随机数是多少,最多猜10次。
要求猜的数从键盘输入,如果输入的数比随机数大,则在显示器上显示“您猜的数大了,加油!”,
如果输入的数比随机数小,则在显示器上显示“您猜的数小了,加油!”,
直到猜中或者猜的次数达到10次都没猜中结束游戏。如果猜中,显示“恭喜您,猜对了!”,
并输出所有猜过的数及其猜的次数;如果猜了10次都没猜中,则输出“猜数结束,游戏失败!”。
问题分析:
1.首先调用 随机函数 产生一个10~100之间的随机整数
2.if else
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main (void)
{
int a;//用于随机
int i;//猜十次
int c;//猜的数
srand((int)time(0));//产生不同的随机数种子
a =rand()%90+10;
printf("请输入猜的数:");
scanf("%d",c);
for(i=10;i<=10;i++)
{
if(c>a)
printf("您猜的数大了,加油!");
else if(c<a)
printf("您猜的数小了,加油! ");
else
printf("您猜对了!\n");
printf("您一共猜数有 %d次",i);
for(;c<=10;c++)
{
printf("您猜的数有:%3d",c);
}
}
return 0;
}
题目 :
猜数游戏。
首先通过计算机产生一个10~100之间的随机整数,然后由人来猜这个随机数是多少,最多猜10次。
要求猜的数从键盘输入,如果输入的数比随机数大,则在显示器上显示“您猜的数大了,加油!”,
如果输入的数比随机数小,则在显示器上显示“您猜的数小了,加油!”,
直到猜中或者猜的次数达到10次都没猜中结束游戏。如果猜中,显示“恭喜您,猜对了!”,
并输出所有猜过的数及其猜的次数;如果猜了10次都没猜中,则输出“猜数结束,游戏失败!”。
到了后面就不会写了,不知道怎么去用数组来输入
程序问题挺多的。
for循环初始条件错了;
在for循环内没有修改c的值;
每次输入的数据没有保存,被下一次输入的值覆盖掉了,当然,昵称程序只输入了一次。
最后输出猜过的值应该在判断的for循环外;
各种小错误。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main (void)
{
int a;//用于随机
int i,j;//猜十次
int c;//猜的数
srand((int)time(0));//产生不同的随机数种子
a =rand()%90+10;
printf("请输入猜的数:");
for(i=0;i<10;i++)
{
scanf("%d",&c);
if(c>a)
printf("您猜的数大了,加油!\n");
else if(c<a)
printf("您猜的数小了,加油!\n ");
else
{
printf("您猜对了!\n");
break;
}
printf("请重新输入:");
}
printf("您一共猜数有 %d次,您猜的数有\n",i+1);
for(j=0;j<=i;j++)
{
printf("%3d",c);
}
return 0;
} sunrise085 发表于 2020-3-23 13:11
程序问题挺多的。
for循环初始条件错了;
在for循环内没有修改c的值;
做题目的时候有些心浮气躁了,谢谢 本帖最后由 jackz007 于 2020-3-23 13:37 编辑
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int randint(int a , int b)
{
int c ;
srand(time(0)) ;
if(a > b) c = a , a = b , b = c ;
return a + rand() % (b - a + 1) ;
}
main(void)
{
int i , j , secret , guess ;
secret = randint(10 , 100) ;
printf("\n") ;
for(guess = secret + 1 , i = 0 ; i < 10 && guess != secret ; i ++) {
printf("请输入一个整数:") ;
scanf("%d" , & guess) ;
if(guess == secret) {
printf("恭喜您,猜对了!\n") ;
} else {
if(guess > secret) printf("您猜的数大了,加油!\n") ;
else printf("您猜的数小了,加油!\n") ;
if(i < 10 - 1) {
printf("您还剩 %d 次机会\n\n" , 10 - i - 1) ;
} else {
printf("\n猜数结束,游戏失败!\n") ;
printf("其实,这个目标数是:%d\n\n" , secret);
}
}
}
} jackz007 发表于 2020-3-23 13:32
非常感谢
页:
[1]