蛇形数组和“之”字形打印
蛇形数组:
目前成都创新互联公司已为成百上千的企业提供了网站建设、域名、网站空间、网站托管、服务器租用、企业网站设计、郊区网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
上面的数组就叫做蛇形数组。
如何打印蛇形数组:一定不要一行一行的考虑,不然就陷入误区了。
#include#include #define line 10 void initsarr(int arr[line][line]) { int i1 = 0; int j1 = 0; int m1 = line - 1; int n1 = line - 1; int k = 0; int i2; int j2; int m2; int n2; while (i1 <= m1&&j1 <= n1) { for (j2 = j1; j2 <= n1; j2++) //从第一行开始打印行 { k++; arr[i1][j2] = k; } for (i2 = i1 + 1; i2 <= m1; i2++) //从最后一列开始打印列 { k++; arr[i2][n1] = k; } for (n2 = n1 - 1; n2 >= j1; n2--) //从最后一行开始打印行 { k++; arr[m1][n2] = k; } for (m2 = m1 - 1; m2>i1; m2--) //从第一列开始打印列 { k++; arr[m2][j1] = k; } j1++; //准备下一圈的打印 i1++; n1--; m1--; } } void output(int arr[line][line]) { int i; int j; for (i = 0; i “之”字形打印:
上面这幅图就是“之”字形打印出来的。
如何打印“之”字形:
#include#include #define line 10 void output(int arr[line][line]) { int i; int j; for (i = 0; i = 0 && j2 <= j; i2--, j2++) { k++; arr[i2][j2] = k; } } else //上三角形从右上到左下斜线的打印 { for (j2 = j, i2 = 0; j2 >= 0 && i2 <= i; j2--, i2++) { k++; arr[i2][j2] = k; } } } for (i = line - 1, j = line - 1; i >= 0 && j >= 0; i--, j--) { if (i % 2 != 0) { //下三角形从左下到右上斜线的打印 for (i2 = line - 1, j2 = line - j; i2
网站栏目:蛇形数组和“之”字形打印
标题路径:http://myzitong.com/article/gdicoo.html