设计一个简单的计算器,一次性将所有的运算命令输入,先计算的后输入。首行输入一个数字,表示运算命令的总个数;其余各行输入,每行表示一个运算命令(包括运算操作符和操作数)。所有的输入及输出都为整数。运算操作符有只有Add、Sub、Mul,即加法、减法、乘法三种c语言
时间: 2024-09-27 09:10:36 浏览: 88
设计一个简单的计算器程序,你可以使用C语言编写,通过数组或结构体存储运算指令,并按照它们的顺序逐个处理。以下是一个基本的伪代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct {
char operator; // 运算符
int num1; // 第一个操作数
int num2; // 第二个操作数 (对于两个操作数的运算)
} Instruction;
int calculate(Instruction *instructions, int count) {
int result = instructions[0].num1;
for (int i = 1; i < count; i++) {
switch (instructions[i].operator) {
case 'A': // 加法
result += instructions[i].num2;
break;
case 'S': // 减法
result -= instructions[i].num2;
break;
case 'M': // 乘法
result *= instructions[i].num2;
break;
default: // 如果遇到未知的运算符,这里可以添加错误处理
printf("Invalid operator\n");
return -1;
}
}
return result;
}
int main() {
int count;
scanf("%d", &count); // 输入运算命令总数
Instruction instructions[count];
for (int i = 0; i < count; i++) {
char op[3];
int num;
scanf(" %s %d", op, &num);
instructions[i].operator = op[0]; // 转化为大写形式,因为通常我们只关心操作码,不区分大小写
instructions[i].num1 = instructions[i].num2 = num;
}
int result = calculate(instructions, count);
if (result != -1) {
printf("Result: %d\n", result);
}
return 0;
}
阅读全文