用C语言实现连续做10道题,通过计算机随机产生两个1~10之间的数给学生出一道减法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错的题目数量。且菜单界面,包含加法测试、减法测试、乘法测试、除法测试的选项,由用户输入选项选择测试类型,且可以随时终止做题可返回上层菜单,或做完十道题后返回上层菜单,继续可选择其他类型做题。
时间: 2023-06-24 11:03:32 浏览: 183
以下是该程序的C语言实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int choice;
do {
printf("请选择测试类型:\n");
printf("1. 加法测试\n");
printf("2. 减法测试\n");
printf("3. 乘法测试\n");
printf("4. 除法测试\n");
printf("5. 退出程序\n");
printf("请选择:");
scanf("%d", &choice);
if (choice < 1 || choice > 5) {
printf("输入错误,请重新选择!\n");
continue;
}
if (choice == 5) {
printf("程序已退出!\n");
break;
}
int score = 0, wrong = 0;
for (int i = 1; i <= 10; i++) {
int a = rand() % 10 + 1, b = rand() % 10 + 1;
int ans;
switch (choice) {
case 1:
printf("第%d题: %d + %d = ", i, a, b);
ans = a + b;
break;
case 2:
printf("第%d题: %d - %d = ", i, a, b);
ans = a - b;
break;
case 3:
printf("第%d题: %d * %d = ", i, a, b);
ans = a * b;
break;
case 4:
printf("第%d题: %d / %d = ", i, a, b);
ans = a / b;
break;
}
int userAns;
scanf("%d", &userAns);
if (userAns == ans) {
printf("Right!\n");
score += 10;
} else {
printf("Not correct!\n");
wrong++;
}
}
printf("总得分:%d,做错的题目数量:%d\n", score, wrong);
} while (1);
return 0;
}
```
该程序通过使用`rand()`函数生成随机数来产生题目,然后通过`switch`语句根据用户选择的测试类型生成对应的加减乘除题目。用户输入答案后,程序判断答案是否正确,累加得分并记录做错的题目数量。最后输出总得分和做错的题目数量。
在菜单界面中,用户可以选择测试类型,如果输入错误,则提示用户重新选择。如果选择退出程序,则跳出循环并结束程序。否则进入循环,进行一系列测试,完成后重新回到菜单界面。
阅读全文