问题标题: 2162   找零问题

0
0
已解决
杨陈卓
杨陈卓
新手天翼
新手天翼
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    double a,b,c,d,x,y;
    cin>>a>>b>>c;
    d=a+b+c,x=(int)d,y=d-x;
    if(y>=0&&y<=0.4)
        d=x;
    if(y>=0.5&&y<=0.9)
        d=x+0.5;
    printf("%.1f\n",d);
    return 0;
}

 


-1
已采纳
樊澄宇
樊澄宇
新手光能
新手光能

第9行,

if(y>=0 && y<=0.4)

应改成

if(y>=0 && y<0.5)

因为有可能y>0.4 && y<0.5

同理,11行

if(y>=0.5 && y<=0.9)

要改为

if(y>=0 && y<1)

求采纳 

0
-1
-1
陶梓锐
陶梓锐
新手光能
新手光能
    double m,n,h,sum,w;
    int i_sum;
    cin>>m>>n>>h;
    sum=m+n+h;
    i_sum=(int)sum;
    w=i_sum;
    if(sum-i_sum>=0.5) cout<<w<<".5"; 
    else cout<<w<<".0";

核心代码,仅供参考,勿抄袭!

我要回答