c语言swicth语句怎么用,哪位大哥帮忙说下?
发布网友
发布时间:2023-03-23 07:07
我来回答
共1个回答
热心网友
时间:2023-10-13 15:04
当你需要用到不等式的时候,你就不应该使用swicth case,因为这个是用来判断你swicth后的表达式是不是和case后面的常量相等的,并不能直接判断大于小于关系。你这个问题直接用if else就行了。。。一定要用switch的话就得用到ceil向上取整,先除以100000再向上取整。
“上述办法”表意不清,我不确定以下代码是不是你要的意思,你可以自己看着改。
#include <stdio.h>
//#include <assert.h>
#include <math.h>
void print(double i)
{
printf("奖金: %.2f", i);
}
int main()
{
double i = 0;
printf("请输入当月利润I: ");
scanf_s("%lf",&i);
//assert(i > 0);
switch ((int)ceil(i / 100000))
{
case 1:
print(i*0.1);
break;
case 2:
print(100000*0.1+i*0.075);
break;
case 3:
case 4:
print(200000*0.075+(i-200000)*0.05);
break;
case 5:
case 6:
print(400000 * 0.05 + (i - 400000)*0.03);
break;
case 7:
case 8:
case 9:
case 10:
print(600000 * 0.03 + (i - 600000)*0.015);
break;
default:
print(1000000 * 0.015 + (i - 1000000)*0.01);
break;
}
return 0;
}