C语言变成问题求解 题目如下 谢谢 写出算法说明(可以用流程图表示)和程序清单
1、 编写一个猜数字游戏。有一定的容错功能,界面友好,功能齐全。游戏规则:a) 猜的数字随机生成,在1-100范围内。b) 猜数字过程循环实...
1、 编写一个猜数字游戏。有一定的容错功能,界面友好,功能齐全。游戏规则: a) 猜的数字随机生成,在1-100范围内。b) 猜数字过程循环实现,如果输入数字比随机生成的数大,则会提示“您猜的数字大了。请重输入”,如果输入数字比随机生成的数小,则会提示“您猜的数字小了。请重输入”。c) 最后统计输出猜数的总次数。d) (选做)最后统计输出猜数过程的所花总时间。提示:(1)随机生成数字可以用rand,srand函数实现,并转变随机数在1-100范围内。如:srand((unsigned)time(NULL)); i = rand() % 100; 因为如果希望rand()在每次程序运行时产生的值都不一样,必须给srand(seed)中的seed一个变值,这个变值必须在每次程序运行时都不一样(比如到目前为止流逝的时间)。(2)time(NULL)函数可以取出系统时间,返回值类型是long。(3)猜数过程可以用循环实现,要设置要循环条件。
展开
1个回答
推荐于2018-05-15
展开全部
见过一个类似的猜数游戏,但是程序可能有问题,怎么猜都是猜的太慢,别的没什么问题。
#include “time.h“
#include “stdlib.h“
#include “stdio.h“
main()
{char c;
clock_t start,end;
time_t a,b;
double var;
int i,guess;
srand(time(NULL));
printf(“do you want to play it.(’y’ or ’n’) \n“);
loop:
while((c=getchar())==’y’)
{
i=rand()%100;
printf(“\nplease input number you guess:\n“);
start=clock();
a=time(NULL);
scanf(“%d“,&guess);
while(guess!=i)
{if(guess〉i)
{printf(“please input a little smaller.\n“);
scanf(“%d“,&guess);}
else
{printf(“please input a little bigger.\n“);
scanf(“%d“,&guess);}
}
end=clock();
b=time(NULL);
printf(“\1: It took you %6.3f seconds\n“,var=(double)(end-start)/18.2);
printf(“\1: it took you %6.3f seconds\n\n“,difftime(b,a));
if(var〈15)
printf(“\1\1 You are very clever! \1\1\n\n“);
else if(var〈25)
printf(“\1\1 you are normal! \1\1\n\n“);
else
printf(“\1\1 you are stupid! \1\1\n\n“);
printf(“\1\1 Congradulations \1\1\n\n“);
printf(“The number you guess is %d“,i);
}
printf(“\ndo you want to try it again?(\“yy\“.or.\“n\“)\n“);
if((c=getch())==’y’)
goto loop;
}
#include “time.h“
#include “stdlib.h“
#include “stdio.h“
main()
{char c;
clock_t start,end;
time_t a,b;
double var;
int i,guess;
srand(time(NULL));
printf(“do you want to play it.(’y’ or ’n’) \n“);
loop:
while((c=getchar())==’y’)
{
i=rand()%100;
printf(“\nplease input number you guess:\n“);
start=clock();
a=time(NULL);
scanf(“%d“,&guess);
while(guess!=i)
{if(guess〉i)
{printf(“please input a little smaller.\n“);
scanf(“%d“,&guess);}
else
{printf(“please input a little bigger.\n“);
scanf(“%d“,&guess);}
}
end=clock();
b=time(NULL);
printf(“\1: It took you %6.3f seconds\n“,var=(double)(end-start)/18.2);
printf(“\1: it took you %6.3f seconds\n\n“,difftime(b,a));
if(var〈15)
printf(“\1\1 You are very clever! \1\1\n\n“);
else if(var〈25)
printf(“\1\1 you are normal! \1\1\n\n“);
else
printf(“\1\1 you are stupid! \1\1\n\n“);
printf(“\1\1 Congradulations \1\1\n\n“);
printf(“The number you guess is %d“,i);
}
printf(“\ndo you want to try it again?(\“yy\“.or.\“n\“)\n“);
if((c=getch())==’y’)
goto loop;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询