C言語のスネーク配列。関数を定義します。入力パラメータは整数で、5 の場合、「スネーク行列」データを次の形式で出力する必要があります。

関数を定義します。入力パラメータは整数で、5 の場合、「スネーク行列」データを次の形式で出力する必要があります。

スネーク配列の次元を入力します: 5
 1 2 6 7 15
 3 5 8 14 16
 4 9 13 17 22 10 12 18
21 23 11
19 20 24 25

 

#include<stdio.h>

int main() {
	int i, j, x, y, a[10][10], n, situation;
	int v = 0;  // 每个数的值
	printf("输入蛇形数组的维数:");
	scanf("%d", &n);
	for (i = 0; i <= 2 * n - 1; i++) {
		if (i % 2 == 1) {
			x = i - 1;
			y = 0;
			situation = -1;  
		} else {
			x = 0;
			y = i - 1;
			situation = 1; 
		}
		while (x >= 0 && y >= 0) {
			if (x < n && y < n) {
				v++;
				a[x][y] = v;
			}
			
			x += situation;
			y -= situation;
		}
	}
	// 开始打印
	for (i = 0; i < n; i++) {
		for (j = 0; j < n; j++) {
			printf("%2d ", a[i][j]);  
		}
		printf("\n");
	}
	return 0;
}

おすすめ

転載: blog.csdn.net/qq_62088638/article/details/134981621