终极挑战:
学会计算总和 (Sum),精确控制数量。
1. 只要 104 金币:
不多不少,正好 104 枚。
2. 告诉井神:
太少?说 "Non satis"
太多?说 "Nimis"
3. 收集:
正好 104 时,全部捡走!
auto requiredGold = 104; // 核心逻辑:累加求和 // Total Sum Algorithm auto total = 0; // 遍历数组,把每个 coin.value 加起来 total += coin.value;
我们需要写一个函数,专门用来算地上有多少钱。
// 定义函数,接收硬币数组作为参数 auto sumCoinValues(auto coins) { int coinIndex = 0; auto totalValue = 0; // 💰 存钱罐初始为 0 // 🔄 遍历每一个硬币 while (coinIndex < coins.size()) { auto coin = coins[coinIndex]; // ➕ 把硬币的价值加进存钱罐 totalValue += coin.value; coinIndex++; } // 📦 把算好的总数返回出去 return totalValue; }
拿到总数 goldAmount 后,和 104 做比较。
< 104: 不够 (Non satis)> 104: 太多 (Nimis)== 104: 完美 (Collect!)while (true) { auto items = hero.findItems(); // 📞 调用刚才写的函数 auto goldAmount = sumCoinValues(items); if (goldAmount != 0) { if (goldAmount < 104) { hero.say("Non satis"); } if (goldAmount > 104) { hero.say("Nimis"); } if (goldAmount == 104) { collectAllCoins(); } } }
在这个单元,你掌握了编程中处理“一堆数据”的核心能力。
一排排好队的数据。items[0], items[1]...
用 while 循环和索引 index
把数组从头看到尾。
total += value
像存钱罐一样计算总和。
打擂台法:
谁更强/更近,谁就留下。