(一)蛇形矩阵
在n*n的方阵里面填入1,2,3,......,n*n,要求填成蛇形。例如n=4时方阵如下: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4上面的方阵中,多余的空格只是为了便于观察,不必严格输出。题目中输入的n<=100.1 #include2 #define maxN 100 3 int main(int argc, char *argv[]) 4 { 5 int a[maxN][maxN]={ 0},i,j,t; 6 int n; 7 int end; 8 scanf("%d",&n); 9 t=1;10 i=0;11 j=n-1;12 a[i][j]=t;13 14 t=2;15 end=n*n;16 while(t =0 && a[i][j-1]==0 ) { j--; a[i][j]=t; t++;}20 while( i-1>=0 && a[i-1][j]==0 ) { i--; a[i][j]=t; t++;}21 while( j+1
(二)蛇形矩阵
http://blog.163.com/lvan100@yeah/blog/static/6811721420107176921749
题目描述:
打印出如下格式的数据:
解题思路:
如果我们将矩阵变一下形状,如下:
这样就变成输出一个三角阵了,简单多了。只是呢,需要在某些行上做一些逆序变换。
奇数时变换奇数行; 偶数时变换偶数行。
最后按照斜线将数填入原来矩阵中,OK!
1 #include2 int main() 3 { 4 int n; 5 int num=0; 6 int a[100][100]={ 0}; 7 int b[200][100]={ 0};//输入输出矩阵的大小,不超过100,当然自己可以修改上限值。 8 int i,j; 9 int temp;10 11 scanf("%d",&n);12 //构造三角阵数形的上半部分 13 for(i=0;i
(三)螺旋矩阵