C---编写程序:实现一个随堂测试,能进行加减乘除运算。要求如下:(1)随机产生两个1~10的正整数,在屏幕上输出题目,如:5+3=?(2)学生输入答案,程序检查学生输入答案是否正确,若正确,
时间: 2024-10-13 16:11:09 浏览: 40
在C语言中,你可以创建一个简单的命令行程序来实现这样一个随堂测试系统。以下是基本的步骤和代码示例:
```c
#include <stdio.h>
#include <stdlib.h> // 引入rand库生成随机数
#include <time.h> // 设置随机数种子
// 随机产生1到10之间的正整数
int random_number(int min, int max) {
return min + rand() % (max - min + 1);
}
int main() {
srand(time(NULL)); // 设置随机数种子,保证每次运行得到不同的结果
int num1, num2, answer;
char operation[4] = "+"; // 初始设定为加法运算
do {
num1 = random_number(1, 10);
num2 = random_number(1, 10);
printf("请计算: %d %s %d = ?", num1, operation, num2);
scanf("%d", &answer);
switch(operation[0]) {
case '+':
if (answer == num1 + num2) {
printf("恭喜,答案正确!\n");
} else {
printf("很遗憾,答案错误。正确答案应该是: %d\n", num1 + num2);
}
break;
case '-':
if (answer == num1 - num2) {
printf("恭喜,答案正确!\n");
} else {
printf("很遗憾,答案错误。正确答案应该是: %d\n", num1 - num2);
}
break;
case '*':
if (answer == num1 * num2) {
printf("恭喜,答案正确!\n");
} else {
printf("很遗憾,答案错误。正确答案应该是: %d\n", num1 * num2);
}
break;
case '/':
if (num2 != 0 && answer == num1 / num2) {
printf("恭喜,答案正确!\n");
} else {
printf("很遗憾,答案错误。请注意,除数不能为零。正确答案应该是: %d\n", num1 / num2);
}
break;
default:
printf("错误的操作符。请重新开始。\n");
break;
}
printf("是否继续测试?请输入'y'或'n': ");
getchar(); // 读取空格字符,用于下一轮测试
operation[0] = getchar(); // 更新操作符
} while(operation[0] == 'y' || operation[0] == 'Y');
return 0;
}
```
上述代码首先设置随机数种子,然后循环进行题目生成和答案检查。用户可以多次选择是否继续测试,直到退出。
阅读全文