```c
include
int main() {
double a, b;
char c;
printf("请输入任意两个数: ");
scanf("%lf", &a);
scanf("%lf", &b);
printf("请输入运算符 (+, -, *, /): ");
getchar(); // 读取并处理输入缓冲区中的回车键
scanf("%c", &c);
switch (c) {
case '+':
printf("%lf + %lf = %lf\n", a, b, a + b);
break;
case '-':
printf("%lf - %lf = %lf\n", a, b, a - b);
break;
case '*':
printf("%lf * %lf = %lf\n", a, b, a * b);
break;
case '/':
if (b != 0) {
printf("%lf / %lf = %lf\n", a, b, a / b);
} else {
printf("除数不能为0\n");
}
break;
default:
printf("无效的运算符\n");
}
return 0;
}
```
代码说明:
输入部分
使用 `scanf` 函数读取两个浮点数 `a` 和 `b`。
使用 `getchar` 函数读取并处理输入缓冲区中的回车键,以确保在输入运算符前正确读取。
运算部分
使用 `switch` 语句根据用户输入的运算符执行相应的加、减、乘、除运算。
在除法运算中,检查除数是否为零,以避免除零错误。
输出部分
根据运算结果输出相应的计算结果。
建议:
该程序适用于基本的加减乘除运算,如果需要更复杂的运算或更多的功能(如取余、开方等),可以进一步扩展程序。
在实际应用中,可以考虑使用更高级的输入输出库(如 `fgets` 和 `fscanf`)来处理输入,以提高程序的健壮性和可读性。