描述 
 在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) 
 输出 
 输出结果是蛇形方陈。 
 样例输入 
 3 
 样例输出 
 7 8 1 
 6 9 2 
 5 4 3
代码如下
#include< stdio.h> 
 #include< string.h> 
 #define maxn 100 
 int a[maxn][maxn]; 
 int main() 
 { 
 long long int n,x,y,tot=0; 
 scanf(“%lld”,&n); 
 memset(a,0,sizeof(a)); 
 tot=a[x=0][y=n-1]=1;\首先看,赋值x=0和y=n-1后; 
 while(tot< n*n) \马上要把它们作为数组a的小标,因此可以合并; 
 { 
 while(x+1< n&&!a[x+1][y]) 
 a[++x][y]=++tot; 
 while(y-1>=0&&!a[x][y-1]) 
 a[x][–y]=++tot; 
 while(x-1>=0&&!a[x-1][y]) 
 a[–x][y]=++tot; 
 while(y+1< n&&!a[x][y+1]) 
 a[x][++y]=++tot; 
 } 
 for(x=0;x< n;x++) 
 { 
 for(y=0;y< n;y++) 
 printf(“%lld “,a[x][y]); 
 printf(“\n”); 
 } 
 return 0; 
 }