问题标题: 1378 买糖果怎么错了?

1
0
已解决
王雨婷
王雨婷
高级守护
高级守护
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    int a,b,c;
    double s;
    cin>>a>>b>>c;
    s=a*12.05+b*20.01+c*9.99;
    printf ("%.1f",(s*1+0.5)/1); 
    return 0;
}

 


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

int 改为 double

printf ("%.1f",(s*1+0.5)/1);

改成

printf ("%.1f",s); 
2
樊澄宇
樊澄宇
新手光能
新手光能

由于读入有可能是实数,所以第6行的

int a,b,c;

应改为

double a,b,c;

还有,四舍五入保留一位小数

printf ("%.1f",(s*1+0.5)/1); 

这么写不对,应改为

printf ("%.1f",(int)(s*10+0.5)/10.0); 

 

0
我要回答