算数训练系统:提供菜单供用户选择训练项目(加、减、乘、除);能随机出题,能接收用户答案并判断正误,能给出错题的正确答案。以c语言的方式写出来
时间: 2023-12-17 21:06:06 浏览: 78
Java的算数方法.docx
以下是一个简单的算数训练系统的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int choice, num1, num2, answer, correct = 0, incorrect = 0;
srand(time(NULL)); // 随机数种子初始化
printf("欢迎使用算数训练系统!\n");
printf("请选择训练项目:\n");
printf("1. 加法\n");
printf("2. 减法\n");
printf("3. 乘法\n");
printf("4. 除法\n");
printf("请选择(输入数字1-4):");
scanf("%d", &choice);
while (1) { // 循环出题
switch (choice) {
case 1: // 加法
num1 = rand() % 101; // 随机数1(0-100)
num2 = rand() % 101; // 随机数2(0-100)
printf("%d + %d = ", num1, num2);
answer = num1 + num2;
break;
case 2: // 减法
num1 = rand() % 101; // 随机数1(0-100)
num2 = rand() % (num1 + 1); // 随机数2(小于等于随机数1)
printf("%d - %d = ", num1, num2);
answer = num1 - num2;
break;
case 3: // 乘法
num1 = rand() % 13; // 随机数1(0-12)
num2 = rand() % 13; // 随机数2(0-12)
printf("%d × %d = ", num1, num2);
answer = num1 * num2;
break;
case 4: // 除法
num2 = rand() % 12 + 1; // 随机数2(1-12)
answer = rand() % 13; // 随机数1(0-12)
num1 = answer * num2;
printf("%d ÷ %d = ", num1, num2);
break;
default:
printf("无效的选择!\n");
continue;
}
scanf("%d", &answer); // 接收用户答案
if (answer == -1) { // 输入-1退出程序
break;
}
if (answer == answer) { // 判断正误
printf("回答正确!\n");
correct++;
} else {
printf("回答错误,正确答案为:%d\n", answer);
incorrect++;
}
}
// 输出统计结果
printf("你一共回答了 %d 道题,其中 %d 道正确,%d 道错误。\n", correct + incorrect, correct, incorrect);
return 0;
}
```
注意:此示例仅为简单示例,实际应用中还需添加更多的输入检查和错误处理。
阅读全文