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

相关推荐
文丑颜不良啊1 小时前
LeetCode2821~2840题目解析
java·leetcode
apcipot_rain2 小时前
C++转Java日记(10)
java·开发语言
简 洁 冬冬2 小时前
泛型方法写法全面辨析:从「能编译」到「能跑」到「能用」
java·泛型
YLCHUP2 小时前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
LGL6030A3 小时前
Java学习历程31——初识Spring Boot
java·spring boot·学习
xiaoye-duck3 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型
思麟呀3 小时前
背包DP(01背包+完全背包)
c++·算法
旖旎夜光4 小时前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
Lansonli4 小时前
大数据Spark(八十八):Spark任务资源之Standalone集群测试
java·服务器·spark
ShineWinsu5 小时前
对于Qt:QTabWidget常见属性的解析
开发语言·数据库·c++·qt·浏览器·qtabwidget·标签页