原题链接:津津的储蓄计划
解题思路:
1.循环输入
2.每个月增量 用+=
3.聚焦核心对比 预算够不够
4.不够cout,够再存下一步
5.记得更新金额,进入下一个循环
注意事项:
聚焦核心:余钱和预算够不够?只比较这一件事
更新容易忘了,但需要按照步骤和逻辑一步步展开。如果担心后面,可以从i=0开始试着跑一遍,结束一整个再进入i=1的循环,就知道哪个环节少了。
参考代码:
#include<iostream>
using namespace std;
int main() {
int p[12]; // 存储每个月的预算
int rest = 0; // 初始化手中剩余的钱为0
int count = 0; // 初始化存入妈妈那里的整百金额数量为0
// 输入每个月的预算
for (int i = 0; i < 12; i++) {
cin >> p[i];
}
// 处理每个月的预算
for (int i = 0; i < 12; i++) {
rest += 300; // 每个月初增加300元零花钱
// 检查是否有足够的钱来满足当月预算
if ((rest - p[i]) < 0) {
cout << -(i + 1) << endl; // 输出负值表示资金不足,并显示月份
return 0; // 结束程序
}
// 如果有足够的钱,计算可以存入妈妈的钱
if ((rest - p[i]) >= 0) {
int n = (rest - p[i]) / 100; // 计算可以存入的整百金额数量
count += n; // 更新存款数量
rest -= n * 100 + p[i]; // 更新剩余金额,扣除存入妈妈的钱和当月预算
}
}
// 年末结算:输出剩余的钱加上存入妈妈那里后返还的总金额(120%)
cout << rest + count * 120 << endl;
return 0; // 返回0表示程序正常结束
}0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复