输入格式:
输入在一行中给出一个正整数N(<10)。
输出格式:
输出N×N的螺旋方阵。每行N个数字,每个数字占3位。
#include <stdio.h> main() { int c=1,x, y,i, j, n, a[100][100]={0}; scanf("%d", &n); x = 0, y = 0; a[x][y] = 1; while(n*n!=c) { while(y+1<n && !a[x][y+1] ) a[x][++y] = ++c; while(x+1<n && !a[x+1][y]) a[++x][y] = ++c; while(y-1>=0 && !a[x][y-1]) a[x][--y] = ++c; while(x-1>=0 && !a[x-1][y]) a[--x][y] = ++c; } for(x=0;x<n;x++) { for(y=0;y<n;y++) { printf("%3d", a[x][y]); } printf("\n"); } }