用C语言写一个加减乘除的计算器要求有能删除
时间: 2024-10-07 11:06:16 浏览: 29
c语言实现一种不使用栈的整数加减乘除计算器
在C语言中编写一个简单的命令行计算器,包括加、减、乘、除功能,并支持删除上一次计算结果的功能,可以参考以下代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
double num1, num2;
char operator;
char delimeter;
double result = 0.0;
// 删除标志
int delete_flag = 0;
while (1) {
printf("请输入一个表达式(如1 + 2 或 d -),输入 'q' 结束程序:");
fgets(input, sizeof(input), stdin);
if (strcmp(input, "q") == 0) {
break;
}
// 分割输入字符串
sscanf(input, "%lf %c %lf", &num1, &operator, &num2);
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 != 0)
result = num1 / num2;
else {
printf("错误:除数不能为零!\n");
continue;
}
break;
default:
printf("无效的操作符,请输入 +, -, *, 或 /。\n");
break;
}
// 如果存在删除操作
if (delete_flag && !isspace(operator)) {
printf("上次运算结果已删除,重新开始计算。\n");
delete_flag = 0;
} else {
printf("结果:%.2f\n", result);
delete_flag = 1; // 设置删除标志
}
}
return 0;
}
```
在这个示例中,用户需要键入类似`1 + 2`的形式输入算式,然后按回车。如果输入`d`,则表示删除上一次的结果。注意这只是一个基础的计算器,没有处理更复杂的表达式,也没有错误处理。运行程序前确保已经包含必要的头文件,并适当调整输入缓冲区大小。
阅读全文