|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目
企业发放的奖金根据利润提成。利润(i)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发放奖金总数?
我的代码:
#include <stdio.h>
void main()
{
int i;
float profit;
printf("enter i");
scanf("%d",&i);
if(i<=10)
{
profit=0.1*i;
}
else if(10 && i<=20)
{
profit=1+(i-10)*0.075;
}
else if(i>20 && i<=40)
{
profit=1+0.75+(i-20)*0.05;
}
else if(i>40 && i<=60)
{
profit=1.75+0.1+(i-40)*0.03;
}
else if(i>60 && i<=100)
{
profit=1.85+0.6+(i-60)*0.015;
}
else if(i>=100)
{
profit=2.45+40*0.015+(i-100)*0.01;
}
printf("%f",profit);
}
程序源代码:
#include "stdio.h"
int main()
{
long i;
float bonus,bon1,bon2,bon4,bon6,bon10;
bon1=100000*0.1;
bon2=bon1+100000*0.075;
bon4=bon2+200000*0.05;
bon6=bon4+200000*0.03;
bon10=bon6+400000*0.015;
printf("请输入利润i:");
scanf("%ld",&i);
if(i<=100000)
bonus=i*0.1;
else if(i<=200000)
bonus=bon1+(i-100000)*0.075;
为什么运行别人的程序,输入20是输出的是 2 呀?
不应该是1.75吗?
profit=10*0.1+(20-10)*0.075不是吗?
- int main()
- {
- double i, bonus;
- printf("请输入公司利润(万):\n");
- scanf("%lf", &i);
- if(i <= 10)
- {
- bonus = 0.1*i;
- }
- else if(i > 10 && i <= 20)
- {
- bonus = 1 + (i-10)*0.075;
- }
- else if(i > 20 && i <= 40)
- {
- bonus = 1.75 + (i-20)*0.05;
- }
- else if(i > 40 && i <= 60)
- {
- bonus = 2.75 + (i-40)*0.03;
- }
- else if(i > 60 && i <= 100)
- {
- bonus = 3.35 + (i-60)*0.015;
- }
- else if(i > 100)
- {
- bonus = 3.95 + (i-100)*0.01;
- }
- printf("Bonus = %.2f万\n",bonus);
-
- return 0;
- }
复制代码加错了
|
|