33蛇形填数

33蛇形填数

描述

在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为: 10 11 12 1 9 16 13 2 8 15 14 3 7  6  5 4 

输入
直接输入方陈的维数,即n的值。(n<=100)
输出
输出结果是蛇形方陈。

#include<stdio.h> 
int main() 

    int a,b,c,d,n,sum=1; 
    int t[101][101]; 
    scanf("%d",&n); 
    for(a=0;a<=(n-1)/2;a++) 
    { 
        for(b=a;b<=n-a-1;b++) 
            t[b][n-a-1]=sum++; 
        for(b=n-a-2;b>=a;b--) 
            t[n-a-1][b]=sum++; 
        for(b=n-a-2;b>=a;b--) 
            t[b][a]=sum++; 
        for(b=a+1;b<n-a-1;b++) 
            t[a][b]=sum++; 
   } 
    for(c=0;c<n;c++) 
    { 
        for(d=0;d<n;d++) 
            printf("%d ",t[c][d]); 
        printf(" "); 
    } 
    return 0;