1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
*/
#include <stdio.h>
#define N 10 //这个是那个输入的 10 ,这个程序不能做为输入来确定,
//不过可以做适当的修改就可以了
main(){
int i,j,n=1,a[N][N];
for(i=0;i<=N/2;i++){
for(j=i;j<N-i;j++)
a[i][j]=n++;
for(j=i+1;j<N-i;j++)
a[j][N-i-1]=n++;
for(j=N-i-2;j>i;j--)
a[N-i-1][j]=n++;
for(j=N-i-1;j>i;j--)
a[j][i]=n++;
}
for(i=0;i<N;i++){
printf("/n/n");
for(j=0;j<N;j++)
printf("%5d",a[i][j]);
}
printf("/n");
}
==================逆時針螺旋矩陣================
#include<stdio.h>
#include<string.h>
void main()
{
int a[10][10],i,j,num,n=1;
printf("plesae enter num:");
scanf("%d",&num);
for(i=0;i<=num/2;i++)
{
for(j=i;j<num-i;j++)
a[j][i]=n++;
for(j=i+1;j<num-i;j++)
a[num-i-1][j]=n++;
for(j=num-i-2;j>=i;j--)
a[j][num-i-1]=n++;
for(j=num-i-2;j>i;j--)
a[i][j]=n++;
}
for(i=0;i<num;i++)
{ for(j=0;j<num;j++)
{
printf("%4d",a[i][j]);
}
printf("/n");
}
}