一、题目理解
本题要求我们根据输入的正整数 n,在控制台打印出 n 行内容。每一行的内容是完全相同的,即 1 到 100 之间所有的偶数,且偶数之间需要用空格进行分隔。
结合样例分析: - 输入:2,表示我们需要输出 2 行数据。 - 输出:共两行,每行都是 2 4 6 ... 98 100。这说明输出的行数完全由输入 n 决定,而每行输出的具体数字序列是固定的(1 到 100 的偶数)。
二、解题思路
本题的核心思路是使用双重循环来实现:
1.外层循环:负责控制输出的行数。循环 n 次,每次循环代表输出一行。
2.内层循环:负责生成并打印一行中的偶数。遍历 1 到 100 的所有整数,判断当前数字是否为偶数。
3.偶数判断方法:使用取模运算符 %。如果一个数对 2 取模的余数为 0(即 num % 2 == 0),则该数为偶数。
代码执行流程拆解: - 程序首先读取用户输入的正整数 n。 - 进入外层循环,变量 i 从 1 递增到 n。 - 每次外层循环开始时,进入内层循环,遍历 1 到 100。 - 在内层循环中,如果当前数字是偶数,则输出该数字并在其后追加一个空格。 - 内层循环结束后,说明一行已经输出完毕,此时输出一个换行符。 - 外层循环继续,直到打印满 n 行。
⚠️ 变量名冲突警告:在编写双重循环时,初学者常犯的一个错误是内外层循环都使用同一个变量名(例如都使用 i)。虽然 C++ 允许内层变量遮蔽(Shadow)外层同名变量,程序也能编译运行,但这属于不良编程习惯,极易引发逻辑错误且难以排查。因此,外层循环应使用 i,内层循环应使用 j 或其他不同的变量名。