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

相关推荐
wuminyu几秒前
JVM规范学习总结-Java源码经过javac编译后产物
java·linux·c语言·jvm·c++
ly76896 分钟前
Spring Security 过滤器链定制:认证、CORS 与 CSRF 的先后顺序
java·spring boot·spring·spring security·csrf·cors·过滤器链
蹊黎7 分钟前
C++中stack、queue、priority queue类的部分简单实现
数据结构·c++·visualstudio·1024程序员节
yuniko-n20 分钟前
【JUC】读写锁 StampedLock
java·1024程序员节
攻城狮Soar25 分钟前
详解volatile
开发语言·c++·1024程序员节
文丑颜不良啊26 分钟前
LeetCode701~725题目解析
java·leetcode
江屿风28 分钟前
【Linux-System】【System V共享内存:从原理到实战的完整解析】流食般投喂
linux·运维·服务器·笔记·系统架构·1024程序员节
東隅已逝,桑榆非晚31 分钟前
搜索二叉树
c++·笔记·学习·1024程序员节
ch.ju36 分钟前
Java——idea知识:Collection父接口
java·开发语言·intellij-idea
木井巳2 小时前
【动态规划: 线性dp】解码方法
java·算法·leetcode·动态规划·推荐算法