则以该数字为矩阵的大小,把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);
}
找到了
