为了账号安全,请及时绑定邮箱和手机立即绑定

这个是我改正过的,题目给出的输入为35时输出应该为2.500000,但我在构建后运行时,得到的结果是1,这是肿么回事啊?

这个是我改正过的,题目给出的输入为35时输出应该为2.500000,但我在构建后运行时,得到的结果是1,这是肿么回事啊?

C
梧落 2015-03-27 17:16:51
#include <iostream>#include <iomanip>using namespace std;int main(){    int i;    int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;    cin>>i;    cout <<setprecision(6);    cout <<fixed;    bonus1=10*0.1;    bonus2=bonus1+10*0.075;    bonus4=bonus2+20*0.05;    bonus6=bonus4+20*0.03;    bonus10=bonus6+40*0.015;    if(i<=10)    bonus=i*0.1;    else if (i<=20)    bonus=bonus1+(i-10)*0.075;    else if (i<=40)    bonus=bonus2+(i-20)*0.05;    else if  (i<=60)    bonus=bonus4+(i-40)*0.03;    else if (i<=100)    bonus=bonus6+(i-60)*0.015;    else    bonus=bonus10+(i-100)*0.01;    cout <<bonus<<endl;    return 0;  }
查看完整描述

1 回答

?
onemoo

TA贡献883条经验 获得超454个赞

你的bonus的类型是int,改成double才能保存浮点值。


为什么同样的问题要发两遍?

查看完整回答
反对 回复 2015-03-28
  • 1 回答
  • 0 关注
  • 961 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信