c++信奥for循环强化03

🎯 For循环魔法课------继续for循环

📚 主题:《For循环大冒险:从计数到预测未来》


🌟 一、课前小故事:循环就像"孙悟空翻跟斗"

孙悟空一个跟斗十万八千里,但如果让他连续翻10个跟斗呢?

------这就需要for循环来帮忙啦!今天我们要用for循环解决5个神奇任务!


🔢 二、核心咒语:for循环口诀

cpp 复制代码
for (初始化;条件;更新) {
    // 重复执行的魔法代码!
}

🤔 形象理解:

  • 初始化 → 准备好你的"跟斗计数器"(比如int i = 1
  • 条件 → 还能继续翻吗?(比如i <= 10
  • 更新 → 翻完一个跟斗,计数器+1(i++

🎮 三、闯关任务表(信奥一本通第四章循环章节1068~1072)

🔍 第一关:1068号任务《寻找数字双胞胎》

📖 情景:

数字王国里有一群数字宝宝,我们要找出和"指定数字"长得一模一样的数字有多少个!

💡 重点:

  • 用for循环遍历每个数字
  • 遇到"双胞胎"就用计数器+1
    ✅ 代码魔法:
cpp 复制代码
int count = 0;  // 准备一个"双胞胎计数器"
for (int i = 0; i < n; i++) {
	cin>>k;
    if (k == target) count++;  // 发现一个双胞胎!
}
cout << count;

🚀 第二关:1069号任务《乘方火箭发射》

📖 情景:

计算an次方,就像给火箭一级级加速!

💡 重点:

  • 用for循环重复乘法
  • 注意初始值设为1(乘法的"起点") !!!
    ✅ 代码魔法:
cpp 复制代码
int result = 1;  // 火箭发射台
for (int i = 1; i <= n; i++) {
    result *= a;  // 每级助推!
}
cout << result;

📈 第三关:1070号任务《人口增长预言家》

📖 情景:

预测小镇未来人口,每年增长固定百分比!

💡 重点:

  • 循环中更新"当前人口"
  • 理解百分比计算:population = population * (1 + rate/100)
    ✅ 代码魔法:
cpp 复制代码
double people = x;  // 当前人口
for (int year = 1; year <= n; year++) {
    people = people * (1 + r/100.0);  // 每年增长
}
cout << fixed << setprecision(4) << people;

🐇 第四关:1071号任务《斐波那契兔子家族》

📖 情景:

神奇的兔子数列:1, 1, 2, 3, 5, 8... 每对兔子生一对新兔子!

💡 重点:

  • 用循环计算第n个数
  • 理解"当前数 = 前两个数之和"
    ✅ 代码魔法:
cpp 复制代码
int a = 1, b = 1;  // 前两个月只有一对兔子
for (int i = 3; i <= n; i++) {
    int c = a + b;  // 新出生的兔子
    a = b;  // 更新"上个月"
    b = c;  // 更新"这个月"
}
cout << b;

🍹 第五关:1072号任务《鸡尾酒疗法大挑战》

📖 情景:

比较新疗法和旧疗法的效果,看看哪个更厉害!

💡 重点:

  • 先算"旧疗法"效果
  • 循环比较每个"新疗法"
    ✅ 代码魔法:
cpp 复制代码
double oldEffect = (y1 - x1) / x1;  // 旧疗法改善率
for (int i = 0; i < n-1; i++) {
    double newEffect = (y2 - x2) / x2;
    if (newEffect - oldEffect > 0.05) cout << "better" << endl;
    else if (oldEffect - newEffect > 0.05) cout << "worse" << endl;
    else cout << "same" << endl;
}

🎨 四、小游戏

🕹️ 游戏1:"循环拍手歌"

老师喊:"for循环开始,i=1!"

学生拍手,同时喊出i的值,直到i>5停止。

(体验循环的"开始-执行-更新-判断")

🎲 游戏2:"预测大师"

给出简单循环代码,预测输出结果:

cpp 复制代码
for (int i = 1; i <= 3; i++) {
    cout << i * 2 << " ";

}

复制代码
>

 

**答案:2 4 6**

---

// 隐藏彩蛋:试试这个循环会输出什么?
for (int i = 0; i < 5; i++) {
    cout << "我超棒!";
}

📚 七、小贴士

  1. 本周重点:理解for循环的三要素(起点、条件、步长)
  2. 生活联系:观察每周存钱计划 (循环存钱)、日历翻页(循环天数)
  3. 画图方式理解循环过程(如画兔子数列的生长图)

✨ 魔法口诀记住啦:

"for循环三兄弟,初始化、条件、更新式;

大括号里重复做,解决问题真省事!"


📢 作业提交: 将5道题的代码和运行截图发到班级群哦~


相关推荐
恋恋西风1 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx1 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BizzZ_2 小时前
C++(22)——类型转换和IO流
开发语言·c++
小范同学_2 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
geovindu3 小时前
CSharp: 万年历
开发语言·后端·c#·.net
我找到地球的支点啦3 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信
予昊3 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
weixin_461408584 小时前
Mybatis-flex小记
java·开发语言·mybatis
青梅味猪大肠5 小时前
【深入浅出C++】为什么虚表指针可以解决菱形继承
开发语言·c++
潘潘的嵌入式日记5 小时前
I²C 从机接收总被覆盖?双缓冲要在 STOP 时交接
c语言·开发语言·单片机