蛇形填数

#include<stdio.h>
int main()
{
	int k,i,j;int num=1,n;
	int a[100][100];
	scanf("%d",&n);
//	for(i=1;i<=n;i++)
	//	for(j=1;j<=n;j++)
	//	scanf("%d",&a[i][j]);
	for(k=2;k<=2*n;k++)
		for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
		if(i+j==k&&(k&1))
		a[i][j]=num++;//通过变换座标,可以变为之字形等
		else 
		if(i+j==k&&!(k&1))
		a[j][i]=num++;
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=n;j++)
		printf("%d	",a[i][j]);
		printf("\n");
	}
	return 0;
		
}

 

posted @ 2012-06-10 21:58  加拿大小哥哥  阅读(167)  评论(0编辑  收藏  举报