鱼C论坛

 找回密码
 立即注册
查看: 2365|回复: 5

[已解决]c编程企业利润编制,输入100W以上的数就出负数是怎么回事

[复制链接]
发表于 2019-3-14 14:36:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#if(0)
利润I低于或等于10万元时,奖金可提成10% ;
利润高于10万元,低于20万元(100000<I≤200000)时,其中10万元按10%提成,
高于10万元的部分,可提成7.5% ;200000<I≤400000时,其中20万元仍按上述
办法提成(下同),高于20万元的部分按5%提成;400000<I≤1000000时,高于40万的部分按1.5%提成;
I>1000000时,超过100万元的部分按1%提成。从键盘输入当月利润I,求应发放
奖金总数。
#endif

用的VC 6.0


#include<stdio.h>

void main()
{
        int i,money;
        printf("please input the i\n");
        scanf("%d",&i);
        switch(i<=100000)
        {
        case 1:money=i*0.1;
                           break;
        case 0:switch(i>100000&&i<=200000)
                   {
                        case 1:money=100000*0.1+(i-100000)*0.075;
                                           break;
                        case 0:switch(i>200000&&i<=400000)
                                   {
                                        case 1:money=100000*0.1+10000*0.075+(i-200000)*0.05;
                                                break;
                                        case 0:switch(i>400000&&i<=1000000)
                                                   {
                                                        case 1:money=100000*0.1+100000*0.075+200000*0.05+(i-400000)*0.015;
                                                                break;
                                                        case 0:switch(i>1000000)
                                                                   {
                                                                           money=100000*0.1+100000*0.075+200000*0.05+600000*0.015+(i-1000000)*0.01;
                                                                           break;
                                                                   }
                                                   }

                                   }
                   }
        }
        printf("%d",money);
       
}
最佳答案
2019-3-14 15:09:39
这写法。。算了不吐槽了。。。
你最后一个case 0后面跟的语句是
  1. switch(i>1000000)
  2.                                                                    {
  3.                                                                            money=100000*0.1+100000*0.075+200000*0.05+600000*0.015+(i-1000000)*0.01;
  4.                                                                            break;
  5.                                                                    }
复制代码
没有case语句大括号里的语句是不会执行的。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-3-14 15:13:48 | 显示全部楼层
Croper 发表于 2019-3-14 15:09
这写法。。算了不吐槽了。。。
你最后一个case 0后面跟的语句是没有case语句大括号里的语句是不会执行的。 ...

刚学C,在练习经典100题,谢谢, 明白了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-14 15:58:23 | 显示全部楼层
暗pluto 发表于 2019-3-14 15:40
你为什么要用switch?
很明显是你结构错误导致的
#include

谢谢啊,题目上非要我用switch,小鱼老师难为我。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-7 02:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表