蓝桥杯蛇形填数c语言

img


这是我的想法和我找到的规律

img


然后这是代码实践 但是它只能输出0
不知道为什么,求指正


#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n); // 输入蛇形矩阵的大小
    int a[101][101] = {0}; // 初始化矩阵
    int num = 1; // 从1开始填数
    for (int i = 1; i <= n; i++) {
        if (i % 2 == 1) { // 奇数行从左到右填数
            for (int j = 1; j <= n; j++) {
                a[i][j] = num++;
            }
        } else { // 偶数行从右到左填数
            for (int j = n; j >= 1; j--) {
                a[i][j] = num++;
            }
        }
    }
    // 输出蛇形矩阵
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            printf("%d ", a[i][j]);
        }
        printf("\n");
    }
    return 0;
}