解题思路:
1.循环输入

2.每个月增量 用+=

3.聚焦核心对比 预算够不够 

4.不够cout,够再存下一步

5.记得更新金额,进入下一个循环



注意事项:

  1. 聚焦核心:余钱和预算够不够?只比较这一件事

  2. 更新容易忘了,但需要按照步骤和逻辑一步步展开。如果担心后面,可以从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分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论