Menu
CoddyTech

嵌套循环

本课属于 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 保持不变,只用来告诉循环何时停止。

challenge icon

挑战

简单

创建一个程序,根据用户提供的行数和列数打印由星号(*)组成的矩形图案。

你的程序应该:

  1. 从用户那里读取两个整数:rows 和 columns。
  2. 使用嵌套循环打印星号矩形图案,外层循环处理行,内层循环处理列。
  3. 每打印一行后换行。

例如,如果输入为 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;
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: C 在线编译器