| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 567 人关注过本帖
标题:C语言计算结果不正确,请各位大神帮忙看看~
只看楼主 加入收藏
米线儿
Rank: 2
等 级:论坛游民
威 望:1
帖 子:35
专家分:54
注 册:2015-3-28
结帖率:87.5%
收藏
已结贴  问题点数:10 回复次数:8 
C语言计算结果不正确,请各位大神帮忙看看~
编写一个计算奖金的小程序,输入一个数据之后,和我的计算结果不一致。不知道错在哪里,请各位大神帮忙,谢谢~

int main()
{
    long int profit;
    int bonus1,bonus2,bonus4,bonus6,bonus100,bonus;

    printf("Please input the profits:\n");
    scanf("%ld",&profit);

    bonus1=0.1*100000;
    bonus2=bonus1+0.075*100000;
    bonus4=bonus2+0.05*200000;
    bonus6=bonus4+0.03*200000;
    bonus100=bonus4+0.015*400000;

    if(profit<=100000)
        bonus=0.1*profit;
    else if(profit<=200000)   //如果输入时18万的话,计算结果应该是16000,但是结果是15999
        bonus=bonus1+(profit-100000)*0.075;
    else if(profit<=400000)
        bonus=bonus2+0.05*(profit-200000);
    else if(profit<=600000)
        bonus=bonus4+0,03*(profit-400000);
    else if(profit<=1000000)
        bonus=bonus6+0.015*(profit-600000);
    else
        bonus=bonus100+0.001*(profit-1000000);


    printf("The bonus of %ld is :%d\n",profit,bonus);
    return 0;
}
搜索更多相关主题的帖子: profit C语言 
2015-04-23 05:47
a132266
Rank: 2
等 级:论坛游民
帖 子:86
专家分:20
注 册:2015-3-26
收藏
得分:2 
浮点变量存储  的是一个相近数   好像是这样 你查查
2015-04-23 05:54
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
int bonus1,bonus2,bonus4,bonus6,bonus100,bonus;  这个语句就有些问题  应该使用double类型

DO IT YOURSELF !
2015-04-23 08:37
陆思雨
Rank: 2
等 级:论坛游民
威 望:1
帖 子:36
专家分:42
注 册:2014-9-17
收藏
得分:2 
你的所有参数都该是float型,如果你们工资够多的话也可以是double 型数据
2015-04-23 09:06
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:2 
你的代码用到了小数点,不能在用整数的数据类型了~改用float或double吧
2015-04-23 21:43
米线儿
Rank: 2
等 级:论坛游民
威 望:1
帖 子:35
专家分:54
注 册:2015-3-28
收藏
得分:0 
回复 3楼 wp231957
是因为计算的时候有小数的原因么?
2015-04-23 23:48
龙勇
Rank: 1
等 级:新手上路
帖 子:8
专家分:2
注 册:2015-4-20
收藏
得分:2 
回复 楼主 米线儿
float bonus1,bonus2,bonus4,bonus6,bonus100,bonus;
printf("The bonus of %ld is :%.2f\n",profit,bonus);
2015-04-24 08:44
happy两棵树
Rank: 2
等 级:论坛游民
帖 子:28
专家分:62
注 册:2013-7-18
收藏
得分:2 
bonus 怎么能设置为 int型呢 ?
2015-04-24 10:22
鲤鱼爱美丽
Rank: 8Rank: 8
来 自:冥界
等 级:蝙蝠侠
威 望:5
帖 子:288
专家分:843
注 册:2015-4-8
收藏
得分:2 
没错啊
Please input the profits:
180000
The bonus of 180000 is :16000
请按任意键继续. . .

代码代码,带着的石头码!!!
2015-04-24 11:41
快速回复:C语言计算结果不正确,请各位大神帮忙看看~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016292 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved