c语言swich四则运算
时间: 2024-11-08 10:13:05 浏览: 11
在C语言中,虽然传统的switch语句主要用于基于整数或枚举类型的条件分支控制,但它并不直接支持复杂的四则运算。然而,你可以通过一些巧妙的方式来间接地实现类似的功能。例如:
```c
#include <stdio.h>
enum Operation {
ADD,
SUBTRACT,
MULTIPLY,
DIVIDE
};
double calculate(int a, int b, enum Operation op) {
switch (op) {
case ADD:
return a + b;
case SUBTRACT:
return a - b;
case MULTIPLY:
return a * b;
case DIVIDE:
if (b != 0) {
return a / b;
} else {
printf("Error: Division by zero is not allowed.\n");
return 0; // 或者抛出异常处理
}
default:
printf("Invalid operation selected.\n");
return 0; // 返回默认值或错误处理
}
}
int main() {
int num1 = 5, num2 = 3;
enum Operation op;
printf("Enter an operation (+, -, *, /): ");
scanf("%d", &op);
double result = calculate(num1, num2, op);
printf("Result: %.2f\n", result);
return 0;
}
```
在这个例子中,我们首先定义了一个枚举类型`Operation`表示四种运算,然后创建一个函数`calculate`接受两个数字和一个操作符作为参数。通过`switch`语句根据输入的操作符来进行相应的计算。需要注意的是,在除法(`DIVIDE`)的情况下检查了除数是否为零。
阅读全文