1
0
已采纳
张瑀涵
高级光能
高级光能
这道题主要思路在于最后的“四舍五入”(不是真正意义的四舍五入)。
首先,我们可以求出把最后的总价的小数部分求出来(设总价为s),及s-(int)(s) (先假设结果为x)
如果x>=0并且x<=0.4,最后输出(int)(s);
其他,最后输出(int)(s)+0.5。
0
杨陈卓
新手天翼
新手天翼
d=a+b+c,x=(int)d,y=d-x;
if(y>=0&&y<0.5)
d=x;
if(y>=0.5&&y<=1)
d=x+0.5;
printf("%.1f\n",d);
0
0
陆麟瑞
资深天翼
资深天翼
先计算总价,然后判断小数部分与0.5的比较。
a=a+b+c; if(a-(int)a>=0.5) cout<<(int)a<<".5"; else cout<<(int) a<<".0";
0
马佳滢
新手天翼
新手天翼
1.定义双精度实数m,n,b,c(double);
2.输入m,n,b;
3.把m+n+b的值赋给c;
c=m+n+b;
4.判断c-int型的c是不是比0.5小;
if(c-(int)c<0.5)
如果判断成立,把(int)c的值赋给c,输出c;
c=(int)c;
cout<<c<<".0";
5.否则(判断不成立),把(int)c的值赋给c再加0.5,输出c;
else{
c=(int)c+0.5;
cout<<c;
}
0
王紫馨
高级守护
高级守护
d=x-(int)x;//x是价格和,d是小数部分
if(d>=0.1&&d<0.5){//判断小数部分是0~4还是5~9
cout<<(int)x<<".0";
}
else if(d>=0.5&&d<=0.9){
cout<<(int)x<<".5";
}
else cout<<x;
上面是核心代码
主要用类型转换来实行目的
0
李恩泽
修练者
修练者
核心部分: if(hxp-m<0.5) { double mm=hxp-m; hxp-=mm; printf("%0.1f",hxp); } else { double px=m+0.5; printf("%0.1f",px); }
望采纳
0
0
0