【题目描述】 读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可为+,-,*,/。(用switch语句实现)。 【输入说明】 结果若为小数,保留小数位2位 【样例输入】 【样例输出】 5 【用例描述】
时间: 2024-10-19 16:05:52 浏览: 42
Matlab2016b 串口数据读入 serial_port(Readdata).rar
这是一个简单的数学计算器程序,需要用户输入两个数值和一个运算符,然后通过switch语句根据运算符执行相应的算术操作。以下是用C语言实现的一个示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 函数用于根据运算符进行计算,并返回结果
double calculate(double data1, double data2, char op) {
switch (op) {
case '+':
return data1 + data2;
case '-':
return data1 - data2;
case '*':
return data1 * data2;
case '/':
// 需要考虑除数为零的情况
if (data2 != 0)
return data1 / data2;
else
printf("Error: Division by zero is not allowed.\n");
return 0; // 如果除数为零,返回错误处理的结果
default:
printf("Error: Invalid operator. Please use +, -, *, or /\n");
return 0; // 对于无效运算符,返回错误处理的结果
}
}
int main() {
double data1, data2;
char op;
printf("请输入第一个运算数:");
scanf("%lf", &data1);
printf("请输入第二个运算数:");
scanf("%lf", &data2);
printf("请输入运算符 (+, -, *, /): ");
scanf(" %c", &op); // 注意这里多了一个空格,防止直接输入数字
double result = calculate(data1, data2, op);
// 格式化输出结果到两位小数
printf("结果:%.2f\n", result);
return 0;
}
```
阅读全文