则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中
则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。例如:输入数字2,则程序输出:
1 2
4 3
输入数字3,则程序输出:
1 2 3
8 9 4
7 6 5
输入数字4, 则程序输出:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
求代码!
# include <stdio.h> void main() { int f(int b); int a[11][11],i,j ; for(i=1;i<=10;i++) for(j=1;j<=10;j++) { if(i<=j) { if(i<=(11-j)) a[j][i]=36*(i-1)-8*f(i-2)+j-(i-1); else a[j][i]=36*(10-j)-8*f(9-j)+j+i-2*(10-j)-1 ; } else { if(i<=(11-j)) a[j][i]=36*j-8*f(j-1)-i+j+1 ; else a[j][i]=36*(11-i)-8*f(11-i-1)-i-j+2*(10-i)+3 ; } ; } ; for(i=1;i<=10;i++) { for(j=1;j<=10;j++) printf("%4d",a[i][j]); printf("\n"); } ; } int f(int b) { int m ; if(b<=0) m=0 ; else m=f(b-1)+b ; return(m); }找到了