问题:
蛇形矩阵,构建蛇形矩阵,之后,根据条件相应输出。
思路:
- 蛇形矩阵,初始值a[0][0]为1,之后开始进行趟数变更。
- (蛇形矩阵趟数,斜着来,斜杠,第一趟为a[0][1]和a[1][0]每一趟中的范围为0到tang次,如第一趟中a[0][1]已经赋值过了,所以余下1个没有赋值,所以循环为0-tang,这里面执行的操作时x++,y--;左下移动,移动到最后再垂直向下赋一次值a[2][0],进入第二个斜杠,循环范围也是0-tang,这里面进行的操作为右上移动赋值,x--,y++)
- 至此以后所有的可能性讨论结束,循环就完事了,当num的值等于zong值时,循环结束。
- 由于要求输出1-到n的蛇形矩阵,所以输入n为多少,就为多少个数字,所以大循环while为num<n;
- 这样就给整个二维数组,蛇形矩阵输入完了,之后便是按要求输出,由于要求输出相应的1到n的数,所以输出的总行数为tang次1,总列数为tang-p次。(观察图像,得到的,可以手动画一下,发现趟数跟所展示的行数有些关系。)
代码如下:
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);//输入多少数字
int a[30][30