用c#写一个随机出题判分的代码
时间: 2024-02-25 12:59:52 浏览: 18
好的,我可以给您提供一个简单的C#代码,用于随机生成四则运算题目,并能够对学生答案进行判分。这个程序能够生成不同难度(简单、中等、困难)的题目,您可以根据自己的需要进行修改。
以下是代码:
``` csharp
using System;
namespace MathQuiz
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("欢迎来到四则运算题目生成器!");
while (true)
{
Console.WriteLine("\n请选择难度:\n1. 简单\n2. 中等\n3. 困难");
int level = Convert.ToInt32(Console.ReadLine());
int num1, num2;
char op;
int answer = 0, userAnswer = 0;
int score = 0, totalScore = 0;
switch (level)
{
case 1:
totalScore = 10;
for (int i = 0; i < 10; i++)
{
num1 = new Random().Next(1, 11);
num2 = new Random().Next(1, 11);
op = (new Random().Next(0, 2) == 0) ? '+' : '-';
answer = (op == '+') ? num1 + num2 : num1 - num2;
Console.Write($"{i + 1}. {num1} {op} {num2} = ");
userAnswer = Convert.ToInt32(Console.ReadLine());
if (userAnswer == answer)
{
Console.WriteLine("回答正确!");
score += 1;
}
else
{
Console.WriteLine($"回答错误!正确答案为{answer}");
}
}
break;
case 2:
totalScore = 20;
for (int i = 0; i < 20; i++)
{
num1 = new Random().Next(1, 101);
num2 = new Random().Next(1, 101);
op = (new Random().Next(0, 2) == 0) ? '+' : '-';
answer = (op == '+') ? num1 + num2 : num1 - num2;
Console.Write($"{i + 1}. {num1} {op} {num2} = ");
userAnswer = Convert.ToInt32(Console.ReadLine());
if (userAnswer == answer)
{
Console.WriteLine("回答正确!");
score += 2;
}
else
{
Console.WriteLine($"回答错误!正确答案为{answer}");
}
}
break;
case 3:
totalScore = 30;
for (int i = 0; i < 30; i++)
{
num1 = new Random().Next(1, 1001);
num2 = new Random().Next(1, 1001);
op = (new Random().Next(0, 2) == 0) ? '+' : '-';
answer = (op == '+') ? num1 + num2 : num1 - num2;
Console.Write($"{i + 1}. {num1} {op} {num2} = ");
userAnswer = Convert.ToInt32(Console.ReadLine());
if (userAnswer == answer)
{
Console.WriteLine("回答正确!");
score += 3;
}
else
{
Console.WriteLine($"回答错误!正确答案为{answer}");
}
}
break;
default:
Console.WriteLine("请重新输入选项!");
break;
}
Console.WriteLine($"\n本次得分为{score},总分为{totalScore},得分率为{(double)score / totalScore * 100}%");
Console.WriteLine("\n是否继续?(Y/N)");
string choice = Console.ReadLine();
if (choice == "N" || choice == "n")
{
break;
}
}
Console.WriteLine("\n谢谢使用!");
}
}
}
```
这个程序可以根据用户选择的难度生成不同难度的题目,并对学生的答案进行判分,最后给出得分率。如果需要使用,您可以根据自己的需要进行修改。希望能对您有所帮助!