随机生成整数类型的100以内的四则运算,并且在输入答案后判断是否正确
时间: 2024-02-23 11:58:47 浏览: 225
好的,我可以编写一个随机生成四则运算题目的程序,并判断用户输入的答案是否正确。以下是代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int a, b, c, d, ans, userAns;
char op1, op2, op3;
// 设置随机数种子
srand(time(NULL));
// 随机生成四则运算式
a = rand() % 100 + 1;
b = rand() % 100 + 1;
c = rand() % 100 + 1;
d = rand() % 100 + 1;
op1 = rand() % 4; // 随机生成加减乘除符号
op2 = rand() % 4;
op3 = rand() % 4;
// 输出题目
printf("%d%c%d%c%d%c%d = ", a, op1 == 0 ? '+' : op1 == 1 ? '-' : op1 == 2 ? '*' : '/', b, op2 == 0 ? '+' : op2 == 1 ? '-' : op2 == 2 ? '*' : '/', c, op3 == 0 ? '+' : op3 == 1 ? '-' : op3 == 2 ? '*' : '/', d);
// 计算答案
if (op3 == 2) {
ans = op2 == 2 ? a * b * c : op2 == 0 ? a + b * c : a - b * c;
ans = op1 == 2 ? ans * d : op1 == 0 ? ans + d : ans - d;
} else {
ans = op2 == 2 ? b * c : op2 == 0 ? b + c : b - c;
ans = op1 == 2 ? a * ans : op1 == 0 ? a + ans : a - ans;
ans = op3 == 0 ? ans + d : ans - d;
}
// 读取用户输入的答案
scanf("%d", &userAns);
// 判断答案是否正确
if (userAns == ans) {
printf("回答正确!\n");
} else {
printf("回答错误!正确答案为%d。\n", ans);
}
return 0;
}
```
程序首先使用 `srand` 函数设置随机数种子,然后使用 `rand` 函数生成四个随机整数和三个随机的加减乘除符号,组合成一个随机的四则运算式并输出到屏幕上。接着,根据符号的优先级,计算出正确的答案。最后,程序使用 `scanf` 函数读取用户输入的答案,并判断其是否与正确答案相等,输出相应的提示信息。
阅读全文