蛇形数组和“之”字形打印
来源:互联网 发布:数据录入平台 编辑:程序博客网 时间:2024/05/18 01:39
蛇形数组:
上面的数组就叫做蛇形数组。
如何打印蛇形数组:一定不要一行一行的考虑,不然就陷入误区了。
#include<stdio.h>#include<stdlib.h>#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<line; i++){for (j = 0; j<line; j++){printf("%5d", arr[i][j]);}printf("\n\n");}}int main(){int arr[line][line];initsarr(arr);output(arr);system("pause");return 0;}
“之”字形打印:
上面这幅图就是“之”字形打印出来的。
如何打印“之”字形:
#include<stdio.h>#include<stdlib.h>#define line 10 void output(int arr[line][line]){int i;int j;for (i = 0; i<line; i++){for (j = 0; j<line; j++){printf("%5d", arr[i][j]);}printf("\n\n");}}
void initsarr(int arr[line][line]){int i = 0;int j = 0;int k = 0;int i2;int j2;for (i = 0, j = 0; i<line&&j<line; i++, j++){if (i % 2 == 0) //上三角形从左下到右上斜线的打印{for (i2 = i, j2 = 0; i2 >= 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<line&&j2<line; i2--, j2++){k++;arr[i2][j2] = k;}}else { //下三角形从右上到左下斜线的打印for (i2 = line - 1, j2 = line - j; i2<line&&j2<line; i2--, j2++){k++;arr[j2][i2] = k;}}}}int main(){int arr[line][line];intput(arr);output(arr);system("pause");return 0;}
4 0
- 蛇形数组和“之”字形打印
- "之"字形打印矩阵
- 转圈打印数组与之字形打印数组
- 蛇形数组打印
- 数组的蛇形打印
- 今日面试题之【实现蛇形数组打印】
- 不用数组打印蛇形矩阵
- 算法入门-打印蛇形数组
- 学习java中的数组:打印n*n矩阵的螺旋方形和回字形
- 打印蛇形矩阵(二维数组)
- 二维数组的“蛇形打印”输出
- 打印n*n矩阵的螺旋方形和回字形
- 打印蛇字形数字
- 打印N字形
- 打印蛇形和顺序方阵—题解
- 矩阵转换问题(蛇形打印,蛇形顺序打印,之字打印)c方法
- 用java实现二维数组的“之”字形输出
- 二叉树按层遍历并按层打印和蛇形打印
- 安卓逆向安全从今天开始
- Codeforces 350 Div2 E Correct Bracket Sequence Editor(list模拟)
- Java 数据类型与jni数据类型对应关系
- JavaScript不能做什么
- Android进程间通信(IPC)之Messenger
- 蛇形数组和“之”字形打印
- 数据移位(C案例)
- map容器的一些方法说明
- 基于微服务架构的云平台总体设计
- 简单实现左右两个listview联动,点击左边切换右边
- 内存对齐 大端字节,序小端字节序验证
- IP地址转Byte
- SPOJ GSS1 Can you answer these queries I
- Android RGB颜色查询对照表