打字游戏1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace 随笔
{
class Program
{
/// <summary>
/// 比较两个字符串相相同元素的个数数
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <param name="n"></param>
/// <returns></returns>
public int avg(string a, string b, int n)
{
int count = 0;
for (int i = 0; i < n; i++)
{
if (a.Substring(i, 1).ToLower() == b.Substring(i, 1).ToLower())
{
count += 1;
}
}
return count;
}
static void Main(string[] args)
{
//打字测试
//随机出现若干个A-Z的字符不区分大小写
//从键盘键入与上述字符匹配,计算输入时间与正确率
Console.WriteLine("请输入您需要测试的字符个数:");
int n = int.Parse(Console.ReadLine());
Random ran = new Random();
ArrayList ss = new ArrayList();
ss.Add("A"); ss.Add("B"); ss.Add("C"); ss.Add("D"); ss.Add("E"); ss.Add("F");
ss.Add("G"); ss.Add("H"); ss.Add("I"); ss.Add("J"); ss.Add("K"); ss.Add("L");
ss.Add("M"); ss.Add("N"); ss.Add("O"); ss.Add("P"); ss.Add("Q"); ss.Add("R");
ss.Add("S"); ss.Add("T"); ss.Add("U"); ss.Add("V"); ss.Add("W"); ss.Add("X");
ss.Add("Y"); ss.Add("Z");
string s ="";
for (int i = 0; i < n; i++)
{
s+= ss[ran.Next(26)].ToString();
}
Console.WriteLine("游戏开始(按提示输入字符:");
Console.WriteLine(s);
DateTime dt = DateTime.Now;
string s1 ="";
for (int i = 0; i < n; i++)
{
s1 += Console.Read();
}
Console.ReadLine();
DateTime dt1 = DateTime.Now;
Program hanshu=new Program();
int j = hanshu.avg(s,s1,n);
double a = (double)j / n;
Console.Write("您的输入时间为:{0}秒", Math.Ceiling((dt1 - dt).TotalSeconds));
Console.WriteLine("您的输入准确率为:{0}", a);
Console.ReadLine();
}
}
}