想问个思路关于蛇形矩阵的问题
怎么输出一个n*n的矩阵式蛇形矩阵?比如输入n=4时,
怎么输出:
1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16
思路是什么?求解。
[此贴子已经被作者于2016-11-8 16:09编辑过]
#include<stdio.h> int main() { int a[4][4]; int x,y,z,i,t; for (x=y=i=0,z=1;z<=16;z++) { a[x][y]=z;//流水线赋值 x--; y++; if (x<i) { x=y; y=0; } if (x>3) { x=3; y=i+1; i++; } } for (x=0;x<4;x++) for (y=x+1;y<4;y++)//局部矩阵转置 if ((x+y)%2!=0) { t=a[x][y]; a[x][y]=a[y][x]; a[y][x]=t; } for (x=0;x<4;x++,printf("\n")) for (y=0;y<4;y++) printf("%5d ",a[x][y]); }
[此贴子已经被作者于2016-11-8 18:32编辑过]