数字记忆游戏(3页).doc
-数字记忆游戏-第 3 页#include <stdio.h>#include<stdlib.h>/strand,rand#include<time.h>/time,clock#include<ctype.h> /tolowervoid STOP();int SUI_JI_SHU(int x,int y); int main(void) printf("您正在玩的是数字记忆游戏,游戏正式开始后屏幕上会显示一个三位数字,n" "经过一秒它将消失,请您正确输入刚才显示的数字,n" "若您三次输入正确,那么数字就会增加一位,否则"you lost!"n" ); printf("请按 回车键 开始游戏:n"); for(;)/输入回车键时就开始游戏 char k=0; scanf("%c",&k); if(k='n') break; there: STOP(); int time_taken=clock();/用于统计时间 int count=2;/用于控制给定数字的位数 int panduan=0;/用于判断输入是否正确 int i=0; int answer=0;/用于得到随机数,在函数 int SUI_JI_SHU(int x,int y)中的y int geiding=0; /存储给定的随机数,以便输入错误是显示正确结果和最长数字位数 int shuru=0;/用于存储输入的数字 for(;panduan=0;i+,panduan=(geiding=shuru ? 0 : 1),answer=0)/判断输入是否正确 if(i=3)/判断是否要增加一位 i=0; count+; geiding=SUI_JI_SHU(count,answer);/存储给定的随机数,以便输入错误是显示 printf("%d",geiding); STOP(); printf("r ");/使显示的数字消失 printf("r"); for(;)/接收输入 scanf("%d",&shuru); if(shuru>0) break; printf("您的答案有误!正确答案是%dn",geiding); int a=0;/判断输入的最长数字的位数 for(;geiding>0;a+) geiding/=10; time_taken=(clock()-time_taken)/CLOCKS_PER_SEC; printf("您输入的最长数字是%d位n您所花费的时间为%d秒n",a,time_taken); if(a<8) printf("长度只有%d,你也太短了吧!n",a); if(time_taken<60) printf("一分钟都不到,你也太快了吧!n平时要多补补哦!nn"); printf("是否希望再重玩一次? Y/N?n"); for(;)/输入回车键时就开始游戏 char m=0; scanf("%c",&m); if(tolower(m)='y') printf("n"); goto there; else if(tolower(m)='n') break; printf("游戏结束!n祝您生活愉快!妹子多多!nn"); system("pause"); return 0;void STOP()/*暂停*/ time_t now=clock(); for(;clock()-now<CLOCKS_PER_SEC;);int SUI_JI_SHU(int x,int y)/*得到随机数字*/ srand(time(NULL); int n=0; for(;n<=x;n+) y=y*10+rand()%10; if(y=0)/防止因为第一位数字为零使数字少丢失一位 y=1; return y;