需求: 重复打印 "Welcome to C++!" 100 次,避免代码冗余。
解答:
#include <iostream>
using namespace std;
int main() {
int count = 0; // 初始化计数器
// 循环条件:count 小于 100 时执行循环体
while (count < 100) {
cout << "Welcome to C++!" << endl;
count++; // 更新计数器(若遗漏会导致死循环)
}
return 0;
}
<aside> 💡
逻辑解析:
count 从 0 开始,每次循环打印语句后自增 1count 达到 100 时,循环条件 count < 100 为假,循环终止count++,会造成死循环!
</aside>需求: 让用户重复输入整数并累加,每次询问是否继续(Y/N),至少执行一次累加。
解答:
#include <iostream>
using namespace std;
int main() {
int sum = 0;
int num;
char continueLoop; // 存储用户输入的 Y/N
do { // 先执行一次循环体
cout << "Enter an integer: ";
cin >> num;
sum += num; // 累加输入的整数
// 询问是否继续
cout << "Continue? (Y/N): ";
cin >> continueLoop;
} while (continueLoop == 'Y' || continueLoop == 'y'); // 判断是否继续循环
cout << "Total sum: " << sum << endl;
return 0;
}
<aside> 💡
逻辑解析:
do-while 保证至少执行一次累加(即使用户直接输入 N)需求: 计算 1+2+...+100 的结果,循环次数明确(100 次)。
解答:
#include <iostream>
using namespace std;
int main() {
int sum = 0;
// for 循环三部分:初始化 i=1; 循环条件 i<=100; 每次迭代后 i 自增
for (int i = 1; i <= 100; i++) {
sum += i; // 累加 i 的值
}
cout << "Sum from 1 to 100 is: " << sum << endl; // 输出结果 5050
return 0;
}
<aside> 💡
逻辑解析:
for 循环将初始化、条件判断、变量更新整合在一行,适合次数固定的场景int i = 1;
while (i <= 100) {
sum += i;
i++;
}
</aside>
需求: 输入多个学生成绩(0-100),输入 -1 时停止,计算平均分(哨兵值为 -1)。