用c语言编程实现一个计算器,该计算器能够处理基本的整数算术运算:加、减、乘、除。用户可以连续输入多个表达式, 直到输入 "q" 命令时程序结束。输入输出样例如下: 输入: 10+20 30-15 25*5 50/10 q 输出: 30 15 125 5
时间: 2024-10-06 15:04:54 浏览: 66
在C语言中实现一个简单的命令行计算器,我们可以使用`scanf`函数获取用户的输入,然后使用条件语句判断并计算每个操作。这里是一个基础的实现:
```c
#include <stdio.h>
// 定义计算函数
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;
}
int divide(int a, int b) {
// 防止除数为零
if (b == 0) {
printf("Error! Division by zero is not allowed.\n");
return 0; // 或者返回一个错误代码
}
return a / b;
}
int main() {
char command[100];
while (1) {
printf("Enter an expression (or 'q' to quit): ");
fgets(command, sizeof(command), stdin); // 获取输入,包括换行符
command[strlen(command) - 1] = '\0'; // 删除多余换行符
if (strcmp(command, "q") == 0) { // 用户输入 'q'
break;
}
// 分割输入字符串,得到操作数和操作符
char *token = strtok(command, "+-*/");
int num1 = atoi(token);
token = strtok(NULL, "+-*/"); // 提取第二个数字
int num2 = atoi(token);
// 根据操作符选择相应的计算函数
switch (command[0]) {
case '+':
printf("%d\n", add(num1, num2));
break;
case '-':
printf("%d\n", subtract(num1, num2));
break;
case '*':
printf("%d\n", multiply(num1, num2));
break;
case '/':
printf("%d\n", divide(num1, num2));
break;
default:
printf("Invalid operation!\n");
}
}
return 0;
}
```
阅读全文