题目链接
题目本身非常简单,直接if-else其实就能做,我的代码用了一个表驱动。
需要注意的是(总是会忘记的一个点,也导致这次没能一次AC的一个点):
这是一种分段计算的题目,每一个符合的段都应该分开计算然后最后加起来,而不是只要计算最大符合的一段!
贴一下自己的代码(刚开始学C++,代码可能写得比较xxx):
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int amount[3] = { 400, 150, 0 };
double price[3] = { 0.5663, 0.4663, 0.4463 };
int sum;
cin >> sum;
double res = 0.0;
for (int i = 0; i < 3; i++) {
if (sum > amount[i]) {
res += (sum - amount[i]) * price[i];
sum = amount[i];
}
}
cout << fixed << setprecision(1);
cout << res;
return 0;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。