在C语言中,如何分别使用 if 和 switch 语句来编写一个程序,用于计算根据销售额确定的不同等级的提成
时间: 2024-10-24 13:12:12 浏览: 13
在C语言中,你可以使用`if`语句和`switch`语句来根据销售额计算提成,不过`switch`通常更适合于有多种情况且每个情况之间相互排斥的情况。这里是一个简单的例子:
```c
#include <stdio.h>
// 定义销售等级和对应的提成百分比
enum SalesLevel {
LOW = 0,
MEDIUM,
HIGH
};
float calculateCommission(float salesAmount) {
float commission;
// 使用 if 语句
if (salesAmount <= 10000) { // 低级别
commission = salesAmount * 0.05;
} else if (salesAmount <= 50000) { // 中级别
commission = salesAmount * 0.10;
} else { // 高级别
commission = salesAmount * 0.15;
}
return commission;
}
// 使用 switch 语句
void calculateCommissionSwitch(float salesAmount) {
enum SalesLevel level;
float commission;
if (salesAmount <= 10000) {
level = LOW;
} else if (salesAmount <= 50000) {
level = MEDIUM;
} else {
level = HIGH;
}
switch (level) {
case LOW:
commission = salesAmount * 0.05;
break;
case MEDIUM:
commission = salesAmount * 0.10;
break;
case HIGH:
commission = salesAmount * 0.15;
break;
}
printf("Commission for %d: %.2f%%\n", level, commission);
}
int main() {
float sales = 40000; // 示例销售额
printf("Using if statement: Commission is %.2f\n", calculateCommission(sales));
calculateCommissionSwitch(sales);
return 0;
}
```
在这个示例中,`if`语句更直观地展示了不同销售额范围对应的不同提成,而`switch`语句则将判断过程封装到了一个独立的`case`结构中,使得代码组织更为清晰。
阅读全文