1 打字游戏
(1)随机函数
A:srand((unsigned)time(NULL));以当前时间为准,设置随机种子。注意:此函数,在每次开始游戏后调用一次即可。
B:ch=rand(); 注意:rand()函数,每调用一次,产生一个随机数字。
(2)获得健值函数
ch=getch();//无需按下回车,可直接获得键盘上按下的键值
(3)时间函数
start_time=time(NULL);
end_time=time(NULL);
(4)system("cls");//清空屏幕
#include<stdio.h>
#include<conio.h>
#include<time.h>
#include<stdlib.h>
#include<corecrt.h>
void help(void)
{
printf("\n******************************************");
printf("\n*输入过程中无法退出! *");
printf("\n*请按所给字母敲击键盘! *");
printf("\n*按任意健开始测试,按下首字母时开始计时 *");
printf("\n*输入出错则以_表示 *");
printf("\n***************************************\n\n");
}
int main()
{
char ch;
char str[51] = " ";//定义数组
int i;
time_t start_time, end_time;
int count = 0;
while (1)
{
system("cls");//清屏
//产生随机字符串。
help();
ch = _getch();
srand(time(NULL));//通过时间的返回值不同,产生的种子就不同
for (i = 0; i < 50; i++)
{
str[i] = rand() % 26 + 'a';
}
str[50] = '\0';
printf("%s\n",str);
count = 0;//因为要玩多次游戏,每次游戏统计前的count都要为0,方便计数
for(i = 0; i < 50;i++)//循环50次
{
ch = _getch();
if (i == 0)
{
start_time = time(NULL);
}
if (ch == str[i])
{
count++;
printf("%c",ch);
}
else
{
printf("_");
}
}
end_time = time(NULL);
printf("\ncount=%d\n", count);
printf("\n正确率:%d%c\n", count * 100 / 50,'%');//50个字符
printf("用时%lld秒\n",(long int)end_time - start_time);
while (1)
{
ch = _getch();
if( ch =='1')//按1在玩一次
{
break;
}
if (ch == 27)///退出
{
return 0;
}
}
}
return 0;
}
标签:count,ch,time,打字,50,C语言,printf,------,NULL From: https://www.cnblogs.com/Miraitowajwj/p/17083203.html