#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int gene_rand(int max, int min)
{
int data;//随机数据
data = min + (int)(max *rand() / (RAND_MAX + min));//生成随机数
return data;
}
void main()
{
char src[20]; //被打印字符串
char dst[20];//打印字符串
int num_ch;//字符个数
char contiu;//是否继续
do
{
int right = 0;//正确的个数
float precision = .0;//正确率
cout << "目标字符串: \n";
srand((unsigned)time(NULL));//种子值
num_ch = gene_rand(20, 1);//字符个数
for (int i = 0; i < num_ch; i++)
{
char c;
c = 'A' + gene_rand(52,0);//52表示共有52个大小写字母
while (c >= ('A' + 26) && c < ('A' + 32))//不是字母则重新选择
{
c = 'A' + gene_rand(52, 0);
}
cout << c;//循环输出字母
src[i] = c;
}
cout << "\n请输入: \n";//输出字符
for (int j = 0; j < num_ch; j++)
cin >> dst[j];
for (int j = 0; j < num_ch; j++)//判断正误
{
if (src[j] == dst[j])//相同
right++;//正确加一
}
precision = (float)right / num_ch * 100;
cout << "正确率=" << precision << "%" << endl;
cout << "继续?Y/N\n";
cin >> contiu;
} while (contiu == 'y' || contiu == 'Y');
}
模拟打字软件
最新推荐文章于 2024-01-03 23:58:48 发布