代码没问题啊,应该可以ac的,或者试试把floor换成int?
by ThroughBall @ 2023-09-16 12:18:54
@[CrNidaree](/user/1097758)
①如果 `N<=150` 会执行最上面的 `if` 和最下面的 `else`,最后会判断成 `N>400` 的用电计算。
②`floor(m*10+0.5)/10.0` 这种保留小数的方式会损失精度,请使用
`cout<<fixed<<setprecision(1)<<m;`
其中 `setprecision` 是 `iomanip` 库中的标识符。
```cpp
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
int N;
cin>>N;
double m=0;
if(N<=150){
m=N*0.4463;
}
else if(N<=400){
m=150*0.4463+(N-150)*0.4663;
}
else{
m=150*0.4463+250*0.4663+(N-400)*0.5663;
}
cout<<fixed<<setprecision(1)<<m;
return 0;
}
```
by Terrible @ 2023-09-16 12:30:30
@[ThroughBall](/user/1042069) 还是不行qwq @[ThroughBall](/user/1042069)
by CrNidaree @ 2023-09-16 13:06:33
@[Terrible](/user/195942) 噢噢难怪一直wa一个点 谢谢巨佬
by CrNidaree @ 2023-09-16 13:08:13