原题链接:津津的储蓄计划
解题思路:
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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复