cwh6319 2016-12-21 11:19 采纳率: 100%
浏览 1079
已采纳

一个简单c语言程序输出的问题

题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
程序如下:
int main()
{
long int i;
float b1,b2,b4,b6,b10,b11,b;
scanf("%ld", &i);
b1 = i*0.1;
b2 = b1 + (i-100000) *0.075;
b4 = b2 + (i-200000) *0.05;
b6 = b4 + (i-400000) *0.03;
b10 = b6 + (i-600000) *0.015;
b11 = b10 + (i-1000000)*0.01;
if(i<=100000)
b = b1;
else if(i<=200000)
b = b2;
else if(i<=400000)
b = b4;
else if(i<=600000)
b = b6;
else if(i<=1000000)
b = b10;
else
b = b11;

printf("bonus=%ld", b);

}
为什么一运行输出就是bonus=0?
求高手解答

  • 写回答

4条回答 默认 最新

  • SZL-C 2016-12-21 15:11
    关注
     int main()
    {
        long int i;
        double b1, b2, b4, b6, b10, b11, b;
        scanf("%ld", &i);
        b1 = i*0.1;
        b2 = b1 + (i - 100000) *0.075;
        b4 = b2 + (i - 200000) *0.05;
        b6 = b4 + (i - 400000) *0.03;
        b10 = b6 + (i - 600000) *0.015;
        b11 = b10 + (i - 1000000)*0.01;
        if (i <= 100000)
            b = b1;
        else if (i <= 200000)
            b = b2;
        else if (i <= 400000)
            b = b4;
        else if (i <= 600000)
            b = b6;
        else if (i <= 1000000)
            b = b10;
        else
            b = b11;
        printf("bonus=%lf\n", b);
        system("pause");
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)