题目:一个公司的利润分成:低于或等于10W的提成为10%,如果高于10W小于20W的,高于10W的部分提成为7.5%,如果高于20W低于40W,高于20W的部分提成为5%;如果高于40W低于60W,高于40W低于60W的部分提成为3%;如果高于60W低于100W,高于60W低于100W的部分提成为1.5%;如果高于100W,高出的部分提成为1%。
求解:通过键盘输入利润金额,要求输出该公司应该发放多少奖金
(考试的时候只会做这一题,也是唯一的一道编程题)
我写的程序(通过两个数组和两个For循环解决了):
但是依然希望能有高人写出更精简的C程序!
main()
{
int k,a[]={100,60,40,20,10,0};
float sum,i,b[]={0.001,0.015,0.03,0.05,0.075,0.1};
scanf("%f",&i);
for(k=1;k<7;k++)
{if(i>a[k])
for(;k<7;k++)
sum+=(i-a[k])*b[k];
else continue;
}printf("%f",sum);
getch();
}
{
int k,a[]={100,60,40,20,10,0};
float sum,i,b[]={0.001,0.015,0.03,0.05,0.075,0.1};
scanf("%f",&i);
for(k=1;k<7;k++)
{if(i>a[k])
for(;k<7;k++)
sum+=(i-a[k])*b[k];
else continue;
}printf("%f",sum);
getch();
}