给小学儿童编写一个操作数在 100 以内的数学运算小游戏。要求如下: (1)定义一个函数。该函数有两个整型的输入参数 randNum1 和 randNum2,其 中,randNum1<=randNum2。该函数的功能是生成 randNum1 到 randNum2 之间 均匀分布的随机整数,该函数的返回值类型是整型。每调用一次该函数,函数返 回一个 randNum1 至 randNum2 之间的随机整数。 (2)定义一个函数。该函数没有输入参数,函数的返回类型是字符型, 为’+’、 ’-’、 ’*’、 ’/’ 、’%’这五个字符的其中一个。该函数要求在内部调用上述 函数(1)实现。 (3)定义一个函数。该函数没有输入参数,函数的返回类型是整型。该函数内 部调用上述函数(1)。每调用一次本函数,返回一个[0, 99]之间均匀分布的随机 整数。
时间: 2023-12-20 10:04:21 浏览: 17
下面是一个示例代码,实现了上述要求:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 生成 randNum1 到 randNum2 之间的随机整数
int generate_random_number(int randNum1, int randNum2) {
return randNum1 + rand() % (randNum2 - randNum1 + 1);
}
// 生成随机运算符
char generate_random_operator() {
int num = generate_random_number(0, 4);
switch (num) {
case 0:
return '+';
case 1:
return '-';
case 2:
return '*';
case 3:
return '/';
case 4:
return '%';
}
}
// 生成[0, 99]之间的随机整数
int generate_question() {
return generate_random_number(0, 99);
}
int main() {
srand(time(NULL)); // 初始化随机数种子
int num1 = generate_question();
int num2 = generate_question();
char op = generate_random_operator();
printf("请回答以下题目:\n");
printf("%d %c %d = ?\n", num1, op, num2);
int answer;
scanf("%d", &answer);
int result;
switch (op) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
case '%':
result = num1 % num2;
break;
}
if (answer == result) {
printf("回答正确!\n");
} else {
printf("回答错误!正确答案是 %d。\n", result);
}
return 0;
}
```
这个程序会生成一个类似于“47 + 13 = ?”这样的题目,要求用户输入答案。程序会计算出正确答案,并判断用户输入的答案是否正确。