问题标题: 酷町堂2162我90分,哪错了?

0
0
已解决
李牧之
李牧之
新手光能
新手光能
#include<iostream>
using namespace std;
int main(){
    double a,b,x,c,d;
    cin>>a>>b>>c;
    x=a+b+c;
    d=x-(int)x;
    if(d>=0.1&&d<=0.4){
        cout<<(int)x<<".0";
    }
    else if(d>=0.5&&d<=0.9){
        cout<<(int)x<<".5";
    }
    else cout<<x;
    return 0;
}

请问各位大佬哪错了?

题目如下:

小明去商店买了三样东西价格分别为M,N,H,由于最后算总价的时候没有零钱找,只有五角或者1元的零钱,如果最后的小数是0-4之间的就舍去,如果是5-9之间的就变成5。计算最后购买商品总价。

输入

输入M,N,H用空格隔开(三个数字都为一位小数)

输出

输出商品总价

样例

输入

样例一:13.2 15.2 20.3

样例二:1.2 1.2 1.0

样例

输出

 

样例一:48.5

样例二:3.0

http://judge.codingtang.com/problem/2162/


1
已采纳
陆麟瑞
陆麟瑞
资深天翼
资深天翼

if(d>=0.1&&d<=0.4){

这一句改为

if(d>=0.1&&d<0.5){

1
张睿杰
张睿杰
初级天翼
初级天翼
n=(a+b+c)*10;
k=n;
n=(int)n%10;

先把三个相加*10,这样就能把十分位转化成个位

然后把n存下来,以后用

然后把各位求出来,这是之前的十分位

1
赵逸凡
赵逸凡
初级启示者
初级启示者

我同意陆麟瑞的观点:d的取值万一是2位小数,李木之的程序是错的;

我同意张睿杰的观点。

陆麟瑞:取整思想。

张睿杰:求位思想。

我的观点:字符串思想:用stringstream变量,用函数做:i串=a.substr(0,a.length()-1)......

0
0
我要回答