输出以下矩阵,此时N=5。
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

解决方案 »

  1.   

    看有点意思,写了个C的,你参考下#include<stdio.h>void main()
    {
        int a[5][5];
        int i,j,k,l,n,num;
        int N=5;
        num=1;
        for(i=0;i<N;i++)
        {
            for(j=i;j<N-i;j++)
                a[i][j]=num++;
            if(num>=N*N)
                break;
            j--;
            for(k=i+1;k<N-i;k++)
                a[k][j]=num++;
            k--;
            for(l=j-1;l>=i;l--)
                a[k][l]=num++;
            l++;
            for(n=k-1;n>i;n--)
                a[n][l]=num++;
        }
        for(i=0;i<N;i++)
        {
            for(j=0;j<N;j++)
                printf("%d ",a[i][j]);
            printf("\n");
        }
        system("pause");
    }