输出蛇型矩阵

#include<stdio.h>

void main()
{
    int n,m;
    while(scanf("%d%d",&n,&m)==2)
    {
        int a[20][20]={0};
        int i=0,j=0,temp=1;

        a[i][j]=1;
        while(temp<n*m)
        {
            
            while(j<(m-1) && !a[i][j+1])
                a[i][++j]=++temp;
            while(i<(n-1) &&!a[i+1][j])
                 a[++i][j]=++temp;
            while(j>0 &&!a[i][j-1])
                a[i][--j]=++temp;
            while(i>0 && !a[i-1][j])
                a[--i][j]=++temp;
        }
        for(i=0;i<n;i++)
            {    for(j=0;j<m;j++)
                {
                    if(j==m-1)
                    printf("%2d",a[i][j]);
                    else
                        printf("%2d ",a[i][j]);

                }
            printf("\n");
            }
}
}

 

posted @ 2016-06-11 18:14  ly_rabbit  阅读(269)  评论(0编辑  收藏  举报