设计一款简单的计算器(能实现加减乘除), 打印出结果。例如:输入:"13""+""14""*""2", 输出结果:13+14*2=41;实现任意数量的3位数(0~999)之间的加减乘除, (规定加减优先于乘除运算)。用c语言,
时间: 2024-09-16 20:05:14 浏览: 58
一个java编写的简易计算器源码 实现简单的加减乘除
设计一个简单的计算器程序可以使用C语言中的基本算术操作和控制结构来实现。以下是一个基础的示例代码:
```c
#include <stdio.h>
// 定义函数来执行计算
int calculate(char op, int num1, int num2) {
switch (op) {
case '+':
return num1 + num2;
case '-':
return num1 - num2;
case '*':
return num1 * num2;
case '/':
// 需要考虑除数为零的情况
if (num2 != 0)
return num1 / num2;
else
printf("Error: Division by zero is not allowed.\n");
break;
default:
printf("Invalid operator.\n");
return 0; // 如果遇到无效运算符返回错误
}
}
int main() {
char input[100];
int num1, num2;
char op;
// 输入两个数字和运算符
printf("Enter two numbers and an operator (+, -, *, /): ");
scanf("%d %d %c", &num1, &num2, &op);
// 检查输入是否满足要求(三位数内)
while(num1 > 999 || num1 < 0 || num2 > 999 || num2 < 0) {
printf("Numbers should be between 0 and 999. Please enter again: ");
scanf("%d %d %c", &num1, &num2, &op);
}
// 打印计算结果
int result = calculate(op, num1, num2);
printf("%d %s %d = %d\n", num1, op, num2, result);
// 询问用户是否继续计算
printf("Do you want to perform another calculation? (y/n)");
char choice;
scanf(" %c", &choice);
// 若用户选择继续则回到开始,否则退出
if (choice == 'y' || choice == 'Y') {
main();
} else {
return 0;
}
}
```
这个程序会循环接收用户输入,直到用户选择不再计算。注意,此版本只处理了简单情况,对于更复杂的表达式解析和优化可能需要额外的输入处理。
阅读全文