高级语言程序设计实验题 6.11 蜿蜒蛇形

★实验任务

蛇向兔子发出赛跑挑战,赛跑规定必须沿着蛇走的路径行走,请你帮助赛跑的裁判出一个跑道,下面有一个边长为 n 的正方形跑道,请你标出跑道的优先级。N=3 的跑道:7 8 96 5 41 2 3蛇总是从左下角开始,并先向右方出发,然后不断迂回前进。

★数据输入

输入一个整数 N(1≤n≤50)。 

★数据输出

输出蛇形矩阵,同一行相邻两个数之间用一个空格隔开,每行行末无空格。

★示例

4 (N=4)

16 15 14 13

9 10 11 12

8 7 6 5

1 2 3 4

此题比较简单,重点是找到行与列的函数关系

#include <stdio.h>
#include <stdlib.h>

int main()
{
	int n;scanf("%d",&n);
	int t,i,j;
	if(n%2)
		t = n*n-n+1;
	else
		t = n*n;
	for(i=n;i>0;i--)
	{
		for(j=1;j<n+1;j++)
		{
			if(i%2)//奇数行 
			{
				printf("%d ",t+j-1);
			}	
			else//偶数行 
				printf("%d",t+1-j);
			if(j<n)
				printf(" ");
		}
		if(i%2==0)
			t = t-2*n+1;
		else
			t--;
		printf("\n");
	}
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_42348709/article/details/80910567