C++ 实现蛇形矩阵:代码示例和解析

本文将提供 C++ 代码示例,展示如何生成蛇形矩阵。代码简洁易懂,并附带运行结果示例,帮助您理解蛇形矩阵的生成逻辑。

代码示例

#include <iostream>
using namespace std;

void printSnakeMatrix(int n) {
    int matrix[n][n];
    int num = 1;
    
    // 填充蛇形矩阵
    for (int i = 0; i < n; i++) {
        if (i % 2 == 0) {
            for (int j = 0; j < n; j++) {
                matrix[i][j] = num++;
            }
        } else {
            for (int j = n - 1; j >= 0; j--) {
                matrix[i][j] = num++;
            }
        }
    }
    
    // 打印蛇形矩阵
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            cout << matrix[i][j] << '\t';
        }
        cout << endl;
    }
}

int main() {
    int n;
    cout << '请输入矩阵的大小:';
    cin >> n;
    
    printSnakeMatrix(n);
    
    return 0;
}

运行结果

运行程序后,输入矩阵的大小,例如输入 5,则会打印出一个 5x5 的蛇形矩阵:

请输入矩阵的大小:5
1	2	3	4	5	
10	9	8	7	6	
11	12	13	14	15	
20	19	18	17	16	
21	22	23	24	25	

代码解析

该代码使用双重循环来填充蛇形矩阵,其中外层循环遍历矩阵的行,内层循环遍历矩阵的列。

  • 奇数行:从左到右填充数字
  • 偶数行:从右到左填充数字

通过这种方式,就可以生成一个蛇形矩阵。

总结

本文提供了一个 C++ 代码示例,展示了如何生成蛇形矩阵。通过代码示例和运行结果,您可以更清晰地理解蛇形矩阵的生成逻辑。希望本文对您有所帮助。


原文地址: https://www.cveoy.top/t/topic/pZSA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录