C语言练习------打字游戏
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;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!