int min, max;
Console.Write("请输入下限:");
min = int.Parse(Console.ReadLine());
Console.Write("请输入上限:");
max = int.Parse(Console.ReadLine());
while (min <= 0 || max >= 100)
{
Console.Write(",请输入下限:");
min = int.Parse(Console.ReadLine());
Console.Write("请输入上限:");
max = int.Parse(Console.ReadLine());
}
int[] Result = new int[5];
for (int i = 0; i < 5; i++)
{
Random rdm = new Random();
int x = rdm.Next(min, max);
int X = rdm.Next(min, max);
Random ram = new Random();
int y = ram.Next(1, 3);
if (y == 1)
{
Console.WriteLine("{0} + {1}=", x, X);
Result[i] = x + X;
}
if (y == 2)
{
Console.WriteLine("{0} - {1}=", x, X);
Result[i] = x - X;
}
}
Console.WriteLine("请依次输入您的答案:(用空格隔开!!)");
string s = Console.ReadLine();
string[] results = s.Split(' ');
int[] result = new int[results.Length];
for (int k = 0; k < result.Length; k++)
{
result[k] = int.Parse(results[k]);
}
int number = 0;
for (int j = 0; j < 5; j++)
{
if (result[j] == Result[j])
{
number++;
}
}
Console.WriteLine("您一共答对了{0}题!", number);
Console.ReadKey();
在线运行没有问题
string[] results = s.Split(' ');
这个 results 都是整数么?如果不是的话,int.Parse 会抛除异常,可以打印下出来看下。
问题解决了吗。可以试试用 Convert.ToInt32();