本蒟蒻第一次写题解,所以选了一道很H₂O的题十分激动。本题解献给和本蒟蒻一样蒟蒻的OIer。
下面进入正题
通过题意可以知道数据一共分成了三段,即:
·第一段:a<=150
·第二段:150<a<=400
·第三段:a>400
所以我们可以直接用 if 语句进行计算。
然后,题目要求保留一位小数,我们在输出的时候,之间用上保留小数的代码:
setprecision(1)
就能如愿地保留一位小数。为了只保留小数部分,我们要在前面加上:
fixed
然后再加上头文件:
#include<iomanip>
就OK了
好了,废话不多说
献上本蒟蒻的AC代码
1 #include<iostream> 2 #include<iomanip> 3 using namespace std; 4 int n; 5 double ans; 6 int main() 7 { 8 cin >> n; 9 if(n<=150) ans=n*0.4463; 10 else if(n<=400) ans=150*0.4463+(n-150)*0.4663; 11 else ans=150*0.4463+250*0.4663+(n-400)*0.5663; 12 cout << fixed << setprecision(1) << ans; 13 return 0; 14 }