//时间函数举例4,一个猜数游戏,判断一个人反应快慢。
#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 the 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 clock time!\n",var=(double)(end-start)/1000);//时钟计时单位为1毫秒,那么计时的精度也为“1毫秒”。
printf("\1: it took you %6.3f seconds calculate time!\n\n",difftime(b,a)); //而日历时间,即time_t型的变量的单位是秒。
if(var<20)
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);
}
if(c!='n')//前面第一次若输入的是“n”,则不执行下面的语句,程序直接结束!
{
printf("\ndo you want to try it again?(\"y\".or.\"n\")\n"); //这里的“yy”是有讲究的,第一个“y”由下面的if语句里getchar()函数获取,
//第二个“y”由while语句里的getchar()获取,之后进才会入while循环!
//另外,双引号里面还有双引号时,会引起“歧义”,故而在双引号前面加上转义字符“\”,此转义字符输出时不显示。
// getchar(); printf("%c",c);
// if((c=getchar())=='y') 这句省去以后,就可以只输入一个y而继续游戏。否则要输入“yy”才行!
goto loop;
}
}
倒确实是个有意思的程序 我可以现在写个给你 就是不知道到时候你有满意答案了没有
你用什么编译器? VC++6.0?
写好了 你看看行不
#include
#include
#include
int main()
{
int rd;
int tm=10;
int in;
srand(time(NULL));
rd=rand()%100+1;
while(tm>0)
{
cin>>in;
if(in==rd)
goto win;
else if(in>rd)
cout<<"输入的数大了!\n";
else
cout<<"输入的数小了!\n";
--tm;
}
cout<<"你输了!";
return 0;
win:
cout<<"你赢了!\n";
}
我以前写过一个猜数字的小程序,不是严格符合你的要求,但是你可以参考...邮箱给我,我发给你!