思路
-
初始化:设置初始剩余金额为0,储蓄总额为0
-
逐月处理:
-
每月初获得300元,加上上月剩余金额
-
如果总额小于当月预算,输出负的月份并结束
-
计算支付预算后的剩余金额
-
如果剩余金额≥100元,将整百部分存入储蓄(如230元存200元)
-
剩余金额减去存款后作为下月初始金额
-
-
年终结算:
-
计算储蓄总额的120%(本金+20%利息)
-
加上12月剩余金额
-
输出总额
-
代码实现
#include <iostream>
using namespace std;
int main() {
int left = 0;
int savings = 0;
int budget[12];
for (int i = 0; i < 12; i++) {
cin >> budget[i];
}
for (int i = 0; i < 12; i++) {
left += 300;
if (left < budget[i]) {
cout << "-" << i + 1 << endl;
return 0;
}
int remain = left - budget[i];
if (remain >= 100) {
int save = (remain / 100) * 100;
savings += save;
left = remain - save;
} else {
left = remain;
}
}
int total = left + savings * 1.2;
cout << total << endl;
return 0;
}