请用C语言完成读入一道形如A+B=C的四则运算题,正确则输出"GOOD!",错误输出"SORRY!”。 其中两个运算数为1到100范围以内的随机整数,运算符为加减乘除四种运算之一。 A 输入格式: 一个算式中间没有空格。 输出格式: GOOD!或者SORRY!
时间: 2024-10-07 14:06:06 浏览: 216
可以使用C语言中的`rand()`函数生成1到100之间的随机整数,然后解析输入字符串来判断运算是否有效。以下是满足要求的一个简单示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h> // 需要用到time()函数初始化随机数种子
// 加法、减法、乘法、除法的运算函数
int add(int a, int b) { return a + b; }
int subtract(int a, int b) { return a - b; }
int multiply(int a, int b) { return a * b; }
double divide(double a, double b) { return a / b; } // 注意除数不能为0
int main() {
srand(time(0)); // 初始化随机数种子
int a, b, result;
char op; // 运算符
scanf("%d %c %d", &a, &op, &b); // 从输入中读取操作数和运算符
// 将字符转换为对应的运算函数
switch(op) {
case '+':
result = add(a, b);
break;
case '-':
result = subtract(a, b);
break;
case '*':
result = multiply((int)a, (int)b);
break;
case '/':
if(b != 0) {
result = divide((double)a, (double)b);
} else {
printf("SORRY! Division by zero is not allowed.\n");
return 1;
}
break;
default:
printf("SORRY! Invalid operator.\n");
return 1;
}
if(result == a + b) { // 检查是否正确
printf("GOOD!\n");
} else {
printf("SORRY!\n");
}
return 0;
}
阅读全文