编写算法,将自然数1~n2按“蛇形”填入,n×n矩阵中。例(1~42)如下图所示。

admin2014-12-25  25

问题 编写算法,将自然数1~n2按“蛇形”填入,n×n矩阵中。例(1~42)如下图所示。

选项

答案 void Snake_Number(int a[][100],int n) { /*将自然数1~n2按“蛇形”填入n阶矩阵a中*/ i=j=0;k=1; while(i=0) { a[i][j]=k++;i++;j一一;} if(j<0&&i=0&&]
解析 在蛇形矩阵中,数的填法是“从右上到左下”,在沿平行于副对角线的各条对角线上,将自然数从小到大填写,当从右上到左下时,坐标i增加,坐标j减小,直到j减小到小于0为止;然后j从0开始增加,而i从当前值开始减小,直到i小于0为止,循环执行上述操作。当过了副对角线后,在i=n时,j=j+2,开始从左下到右上填数;当j=n时,i=i+2,开始从右上到左下填数,直到,n2个数全部填完为止。算法描述如下。
转载请注明原文地址:https://kaotiyun.com/show/N4Vx777K
0

最新回复(0)