本周C++编程课笔记:for循环练习

📚 本周C++编程课笔记:for循环练习

主题:信奥一本通for循环练习题 + GESP一级2403考点解析


🔍 一、for循环回顾:"数字流水线"

for循环就像一条自动化的流水线

cpp 复制代码
for (int i = 1; i <= 5; i++) {
    cout << "第" << i << "个产品完成!" << endl;
}

🔹 三个关键部件

  1. 起点int i = 1(从1开始计数)
  2. 终点判断i <= 5(到5就停止)
  3. 步进器i++(每次+1)

🧩 二、本周闯关题目解析

🟢 1:均值(1060题)

任务 :算一堆数字的"平均分"
核心技巧

  1. 用for循环读入每个数
  2. sum变量当"储蓄罐"累加
  3. 最后算:平均值 = 总储蓄 / 人数
cpp 复制代码
// 小例子:算3个数的平均
double sum = 0;
for (int i = 1; i <= 3; i++) {
    int num;
    cin >> num;
    sum += num;  // 存钱进储蓄罐
}
cout << fixed << setprecision(4) << sum / 3;

🟡 2:最高分(1062题)

任务 :找出一列分数中的"冠军"
核心技巧

  • 设一个maxScore变量当"擂主"
  • 每个数字来"挑战",比擂主大就替换!
cpp 复制代码
int maxScore = 0;  // 初始擂主是0分
for (int i = 1; i <= n; i++) {
    int score;
    cin >> score;
    if (score > maxScore) maxScore = score;  // 挑战成功!
}

🔵 3:最大跨度值(1063题)

任务 :找"最高分"和"最低分"的差距
双擂主策略

cpp 复制代码
int maxNum = -1000, minNum = 1000;  // 夸张的初始值
for (int i = 1; i <= n; i++) {
    int num;
    cin >> num;
    if (num > maxNum) maxNum = num;  // 最高分擂主
    if (num < minNum) minNum = num;  // 最低分擂主
}
cout << maxNum - minNum;  // 跨度 = 最高 - 最低

🟠 4:奇数求和(1065题)

任务 :只加"单数"(1,3,5...)
奇偶判断口诀num % 2 == 1

cpp 复制代码
int sum = 0;
for (int i = 1; i <= n; i++) {
    int num;
    cin >> num;
    if (num % 2 == 1) sum += num;  // 只存奇数
}

📘 三、GESP一级2403考点链接

这些题目正好对应GESP一级的两大考点

🎯 考点1:循环处理数据序列

  • GESP常考"输入n个数,求xx值"
  • 解题模板
cpp 复制代码
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
    // 这里处理每个数据
}

🎯 考点2:条件筛选与统计

  • 比如"求满足条件的数和"
  • 关键:在循环内加if判断
cpp 复制代码
if (条件成立) {
    // 执行操作
}

💡 四、小贴士

  1. 先画流程图:用纸笔画出"数据流动"再写代码
  2. 变量初始化
    • 求和变量 sum = 0
    • 最大值 max = 很小值
    • 最小值 min = 很大值
  3. 测试用例
    • 输入3 个成绩:90 80 70
    • 手动算一遍,再对比程序输出

🏆 五、本周任务

尝试用一个for循环同时解决:

  1. 计算总分
  2. 找出最高分
  3. 统计及格人数(≥60分)
    提示:需要3个变量!

🌈 趣味总结

  • for循环 = 数字小火车(一站站前进)
  • sum变量 = 存钱罐(越存越多)
  • max/min变量 = 擂主(不断被挑战)
  • if判断 = 守门员(只放符合条件的通过)

相关推荐
倒霉蛋小马几秒前
Java新特性:record关键字
java·开发语言
浪客灿心13 分钟前
项目篇:模块设计与实现
数据库·c++
折哥的程序人生 · 物流技术专研17 分钟前
《Java 100 天进阶之路》第95篇:消息队列基础(RocketMQ/Kafka)(2026版)
java·面试·kafka·rocketmq·java-rocketmq·求职招聘
budingxiaomoli23 分钟前
Spring日志
java·开发语言
牛油果子哥q26 分钟前
【C++ STL vector】C++ STL vector 终极精讲:动态数组底层原理、两倍扩容机制、迭代器失效、增删查改、性能剖析与工程避坑指南
开发语言·c++
IT空门:门主27 分钟前
Spring 注入三剑客:@Resource、@Autowired、@RequiredArgsConstructor 到底该用哪个?
java·后端·spring
Sam_Deep_Thinking1 小时前
Spring Boot 的启动原理是什么?
java·spring boot·后端
南部余额1 小时前
Spring WebClient 从入门到精通
java·后端·spring
CodeStats1 小时前
从 CPU 指令到 JVM 进程:彻底讲透 Java 执行 main 方法时,类加载、主线程、栈帧入栈的完整底层逻辑
java·linux·开发语言
摇滚侠1 小时前
Spring 零基础入门到进阶 基于注解管理 Bean 38-43
xml·java·后端·spring·intellij-idea