C语言打字练习程序:这个随机生成字符的代码好玩,就在这里放一下
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
int main()
{
char origin[20];
char guess[20];
int length;
int flag;
int right=0;
float r;
int k,j,i,n;
//使用系统时间作为随机数种子
srand(time(NULL));
//生成随机数
length=rand()%15+1;
printf("**** 欢迎进入打字程序系统****\n");
printf(" \n");
printf("the string's length is:%d\n",length);
for(j=0;j<length;j++)
{
flag=rand()%2;
if(flag)
origin[j]='a'+rand()%26;
else
origin[j]='A'+rand()%26; //随机输入26个字母大小写任意
}
//输出生成的字符串
printf("the original string is:");
for(i=0;i<length;i++)
{
printf("%c",origin[i]);
}
printf("\n");
while(1)
{
//要求输入字符串
printf("please guess the string:");
scanf("%s",guess);
k = strlen(guess);
//如果的字符串长度大于生成的字符串长度
if (k >length)
{
printf("length error!\n");
//清空字符数组guess
memset(guess, 0, sizeof(guess));
}
//如果输入的字符串长度等于或者小于生成的字符串长度就退出循环不在输入
else
{
break;
}
}
//如果长度相等
for(n=0;n<length;n++)
{
if(origin[n]==guess[n])
right++;
}
printf("the right number is:%d\n",right);
r= (float)right/length;
printf("你的正确率是%f\n",r);
printf("谢谢使用!\n");
system ("pause");
return 0;
}
运行结果: