#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<time.h>
#define MAX 51
#pragma warning (disable:4996);
void help()
{
printf("\n*********************");
printf("\n输入过程中无法退出,输入错误则以_表示");
printf("\n按任意键开始测试,按下首字母时开始计算时间");
printf("\n***********************");
}
void my_start(char*str)
{
srand((unsigned int)time(NULL));//产生随机数种子
for (int i = 0; i < MAX - 1; i++)
{
str[i]= rand() % 26 + 'a';//rand()%(n-m+1)+m表示产生m,n的随机数
}
*(str + MAX - 1) = 0;
}
void my_game(char*str)
{
char ch;
int count = 0;
time_t t_start;//产生起始时间
time_t t_end;//产生结束时间
system("cls");//清屏
printf("\n");
printf("str=%s\n,str");
count = 0;
for (int i = 0; i < MAX - 1; i++)
{
ch = _getch;
if (i == 0)
{
t_start = time(NULL);//取开始时间
}
if (ch == *(str + i))
{
printf("ch=%c\n,ch");
count++;
}
else
{
printf("_");//打印错误标志
}
}
t_end = time(NULL);//产生结束时间
printf("完成输入用时%d\n", t_end - t_start);
printf("正确率为lf\n", count*1.0 / (MAX - 1) * 100);
printf("按下ESC退出,按任意键继");
}
int main()
{
char str[MAX] = { 0 };
char esc;
while (1)
{
help();//游戏说明菜单
my_start(str);//产生随机字母
char ch = _getch();//请输入任意键
my_game(str);//开始游戏
if (ch == 27);
{
break;
}
system("cls");//清屏
}
return 0;
}
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,已经为您补发到账户,我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。