嵌套循环
本课属于 Coddy C 学习旅程的“基础知识”单元。第 43 课,共 63 课。
嵌套循环是指放在另一个循环内部的循环。外层循环每迭代一次,内层循环就会完整执行一次。
创建一个运行 2 次的外层循环:
for (int i = 0; i < 2; i++) {
// 这里是外层循环的代码
}添加一个内层循环,让它在每次外层循环迭代时运行 3 次:
int rows = 2;
int cols = 3;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d,%d ", i, j);
}
printf("\n");
}输出将是:
0,0 0,1 0,2
1,0 1,1 1,2 注意,内层循环会先完成所有迭代,然后外层循环才进入下一次迭代。每个循环都有自己的计数器:每次外层循环运行时,j 都会从 0 重新开始,而 rows 和 cols 保持不变,只用来告诉循环何时停止。
挑战
简单创建一个程序,根据用户提供的行数和列数打印由星号(*)组成的矩形图案。
你的程序应该:
- 从用户那里读取两个整数:rows 和 columns。
- 使用嵌套循环打印星号矩形图案,外层循环处理行,内层循环处理列。
- 每打印一行后换行。
例如,如果输入为 3 行、4 列,输出应为:
****
****
****为每个循环使用一个新的计数器(例如,用 i 表示行,用 j 表示一行中的星号),并将它与 rows 或 columns 进行比较。不要更改 rows 和 columns 本身:每一行都需要再次使用 columns。
亲手试试
#include <stdio.h>
int main() {
int rows, columns;
scanf("%d", &rows);
scanf("%d", &columns);
// 在这里编写代码,打印图案
return 0;
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: C 在线编译器