
为什么我这个很简单程序运行结果计算不正确?请问哪个步骤错误了?
因为你的程序所有的case后面都少了一个空格,所以导致输入任何值都执行default部分,自然数值不对,
比如你输入1000,程序执行default部分,b=10000+7500+10000+6000+6000-9990=29510
把所有的case后面都加一个空格就行了,另外相同的case语句可以省略,象下面的程序一样.
完整的程序如下
#include<stdio.h>
int main(){
int a;
float b;
printf("请输入你的营业额:");
scanf("%d",&a);
switch(a/100000){
case 0:b=0.1*a;break;
case 1:b=0.1*100000+(a-100000)*0.075;break;
case 2:
case 3:b=0.1*100000+0.075*100000+(a-200000)*0.05;break;
case 4:
case 5:b=0.1*100000+0.075*100000+0.05*200000+(a-400000)*0.03;break;
case 6:
case 7:
case 8:
case 9:b=0.1*100000+0.075*100000+0.05*200000+200000*0.03+(a-600000)*0.015;break;
default:b=0.1*100000+0.075*100000+0.05*200000+200000*0.03+400000*0.015+(a-1000000)*0.01;break;
}
printf("奖金是%.2f",b);
return 0;
}

2024-08-28 广告