NYOJ-33-蛇形填数

#include<stdio.h>  
int main()  
{  
    int a,b,c,d,n,sum=1;  
    int yi[101][101];  
    scanf("%d",&n);  
    for(a=0;a<=(n-1)/2;a++)  //控制边框的循环次数
    {  
        for(b=a;b<=n-a-1;b++)  
            yi[b][n-a-1]=sum++;//控制右边框  
        for(b=n-2-a;b>=a;b--)  
            yi[n-a-1][b]=sum++;  //控制下边框
        for(b=n-a-2;b>=a;b--)  
            yi[b][a]=sum++;  //控制左边框
        for(b=a+1;b<n-a-1;b++)  
            yi[a][b]=sum++;  //控制上边框
    }  
    for(c=0;c<n;c++)  
    {  
        for(d=0;d<n;d++)  
            printf("%d ",yi[c][d]);  
        printf("\n");  
    }  
}          

你可能感兴趣的:(NYOJ-33-蛇形填数)