编写一个c语言程序,输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算: 程序模拟简单运算器的工作:输入一个算式(没有空格),遇等号"="说明输入结束,输出结果。 假设计算器只能进行加减乘除运算,运算数和结果都是整数,4 种运算符的优先级相同,按 从左到右的顺序计算。
时间: 2023-06-16 10:04:21 浏览: 45
很高兴能够为您解答问题!以下是符合您要求的C语言程序:
```c
#include <stdio.h>
int main() {
int repeat;
scanf("%d", &repeat);
for (int i = 0; i < repeat; i++) {
int result, num, flag = 1;
char op;
scanf("%d", &result);
while (flag) {
scanf("%c", &op); // 读取操作符
if (op == '=') { // 如果读到等号,则输出结果并退出循环
printf("%d\n", result);
break;
} else { // 否则读取操作数,进行相应的运算
scanf("%d", &num);
switch (op) {
case '+':
result += num;
break;
case '-':
result -= num;
break;
case '*':
result *= num;
break;
case '/':
result /= num;
break;
}
}
}
}
return 0;
}
```
该程序实现了简单的运算器功能,首先读取输入的repeat参数,然后循环做repeat次运算。每次运算先读取输入的第一个整数作为result,然后通过一个循环读取操作符和操作数,逐步更新result的值,直到读到等号为止,最后输出结果。程序中使用了switch语句来进行不同的运算操作,读取字符时需要注意跳过空格和回车符。测试该程序时可以输入多行数据,每行以等号结尾表示输入结束,程序会分别输出对应的结果。