本周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判断 = 守门员(只放符合条件的通过)

相关推荐
IT古董1 小时前
【MES学习笔记系列】MES 厂商与产品对比
笔记·学习
imaol11 小时前
链表 -- 环链表
java·前端·链表
会周易的程序员1 小时前
aiDgePLC — IEC61131-3 ST PLC 虚拟机调试与运行环境
c++·物联网·虚拟机·st·工业协议·iec61131·梯形图
wangyue_msn_861 小时前
Agent知识学习笔记——03 RAG
笔记·学习·ai编程
imaol11 小时前
链表 -- 双向链表
java·前端·链表
嘶哈哈哈2 小时前
# 异构十电机机架数学建模:从单电机力矩到受约束控制分配
笔记
呱呱巨基2 小时前
Linux 查找命令
linux·笔记·学习·查找命令
2601_963869952 小时前
【计算机毕业设计】基于Java的相框定制系统的设计与实现
java·开发语言·课程设计
于烛3 小时前
为什么hasNext() 对只有一个元素的集合返回 true?90%初学者都有的疑问
java
zhangrelay3 小时前
ROS 2 Lyrical 第4章 URDF机器人建模与Gazebo Garden仿真
linux·笔记·学习·ubuntu·机器人·ros2