C語言作業|螺旋方陣

#include <stdio.h>

int main () {
	int n;
	scanf("%d",&n);
	int array[n][n], lu, rd, i, num = 1;
	/*	lu is left/up, rd is righth/down	*/
	
	for (lu = 0, rd = n - 1; lu <= rd;	++ lu, -- rd) {
		for (i = lu; i <= rd; ++ i) {
			array[lu][i] = num ++;
		}
		for (i = lu + 1; i < rd; ++ i) {
			array[i][rd] = num ++;
		}
		for (i = rd; i > lu; -- i) {
			array[rd][i] = num ++;
		}
		for (i = rd; i > lu; --i) {
			array[i][lu] = num ++;
		}
	}
	int j;
	for (i = 0; i < n; ++ i) {
		for (j = 0; j < n; ++ j) {
			printf("%d",array[i][j]);
			if (j == n - 1) continue;
			printf(" ");
		}
		printf("\n");
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章