C程序设计第四章作业10
问:
企业按照特定的方案发放奖金,现输入I项目的利润,按照特定的算法求出奖金。
答:
#include<stdio.h>
int main()
{
int I=0, Num=0, Money=0, W10=0, W10W20=0, W20W40=0, W40W60=0, W60W100=0, W100=0;
W10 = 100000 * 0.1;
W10W20 = 100000 * 0.075;
W20W40 = 200000 * 0.05;
W40W60 = 200000 * 0.03;
W60W100 = 400000 * 0.015;
printf("Enter I profit:\n");
scanf("%d", &I);
if (I > 0)
{
if (I <= 100000)
{
Num = 1;
}
else if (I > 100000 && I <= 200000)
{
Num = 2;
}
else if (I > 200000 && I <= 400000)
{
Num = 3;
}
else if (I > 400000 && I <= 600000)
{
Num = 4;
}
else if (I > 600000 && I <= 100000)
{
Num = 5;
}
else if (I >= 1000000)
{
Num = 6;
}
}
else//输入错误
{
setbuf(stdin, NULL);//清除输入缓冲区
printf("You enter data is error!\n");
exit();//退出
}
switch (Num)
{
case 1://低于十万
{
Money = (I*0.1); break;
}
case 2://高于十万小于二十万
{
Money = (W10 + (I - 100000)*0.075); break;
}
case 3://高于二十万小于四十万
{
Money = (W10 + W10W20 + (I - 200000)*0.05); break;
}
case 4://高于四十万小于六十万
{
Money = (W10 + W10W20 + W20W40 + (I - 400000)*0.03); break;
}
case 5://高于六十万小于一百万
{
Money = (W10 + W10W20 + W20W40 + W40W60 + (I - 600000)*0.015); break;
}
case 6://大于一百万
{
Money = (W10 + W10W20 + W20W40 + W40W60 + W60W100 + (I - 1000000)*0.01); break;
}
default:
{
setbuf(stdin, NULL);//清除输入缓冲区
printf("Data is error!\n");
exit();//退出break;
}
}
printf("Bonus is [%d]", Money);
return 0;
}