实现蛇形矩阵,可以使用二维数组来存储矩阵元素。具体实现如下:

#include<stdio.h>

int main() {
    int n;
    printf("请输入矩阵的行数:");
    scanf("%d", &n);
    int matrix[n][n];
    int num = 1; // 从1开始递增的数字
    int i, j;
    for (i = 0; i < n; i++) {
        if (i % 2 == 0) { // 偶数行从左往右排列数字
            for (j = 0; j <= i; j++) {
                matrix[i][j] = num++;
            }
        } else { // 奇数行从右往左排列数字
            for (j = i; j >= 0; j--) {
                matrix[i][j] = num++;
            }
        }
    }
    // 输出蛇形矩阵
    printf("蛇形矩阵如下:\n");
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            if (matrix[i][j] == 0) {
                printf("  "); // 矩阵中未赋值的元素输出两个空格
            } else {
                printf("%2d ", matrix[i][j]);
            }
        }
        printf("\n");
    }
    return 0;
}

运行程序,输入行数为5,输出结果如下:

请输入矩阵的行数:5
蛇形矩阵如下:
 1
 2  3
 6  5  4
 7  8  9 10
15 14 13 12 11

可以看到,程序按照蛇形排列数字并输出了蛇形矩阵。其中,未赋值的元素输出两个空格,使得矩阵元素对齐

蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。C语言

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

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