二维数组环形打印,亲自调试
来源:互联网 发布:淘宝情趣女模特都有谁 编辑:程序博客网 时间:2024/06/05 23:08
/*先把数据按照打印格式打印到二维数组中,然后输出二维数组即可
*时间复杂度 O(N*M)
*空间复杂度O(N*M)
*/
#include<stdio.h>#include<string.h>#include<stdlib.h>int input(void);void contral(int **arry,int col,int row);void set_value(int**a,int col,int row, int start);void print(int **arry,int col,int row);int main(void){ int col,row; int **a; int i; printf("input the col,row:"); scanf("%d%d",&col,&row); //申请二维数组 a=(int **)malloc(sizeof(int*)*col); for(i=0;i<col;i++) a[i]=(int *)malloc(sizeof(int)*row); contral(a,col,row); print(a,col,row); return 0;}void contral(int **arry,int col,int row){ int start=0; while(col>start*2&&row>start*2) { set_value(arry,col,row,start); start++; } }void set_value(int**a,int col,int row, int start){ int endX=row-1-start; int endY=col-1-start; int i; static int temp=1; //第一行,从右到左 for(i=start;i<=endX;i++) { a[start][i]=temp; temp++; } //第二列,从上到下 if(start<endY) { for(i=start+1;i<endY;i++) { a[i][endX]=temp; temp++; } } //打印第三行 从左到右 if(start<endX&&start<endY) { for(i=endX;i>=start;i--) { a[endY][i]=temp; temp++; } } //打印第四列,从下到上 if(start<endX&&start<endY-1) { for(i=endY-1;i>=start+1;i--) { a[i][start]=temp; temp++; } } }void print(int **arry,int col,int row){ int i,j; for(i=0;i<col;i++) { for(j=0;j<row;j++) { printf("%4d ",arry[i][j]); } printf("\n"); }}程序运行结果:
[trageday@lei-yum code_test]$ gcc -o print_cir_arry print_cir_arry.c[trageday@lei-yum code_test]$ ./print_cir_arry input the col,row:5 5 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9
1 1
- 二维数组环形打印,亲自调试
- java环形打印二维数组
- 打印二维数组
- 螺旋打印二维数组
- 打印不规则二维数组
- 转圈打印二维数组
- 二维数组顺时针打印
- 二维数组打印
- 转圈打印二维数组
- java打印二维数组
- 顺时针打印二维数组
- 二维数组的打印
- 二维数组的打印
- 打印二维数组
- 二维数组对角线打印
- Java打印二维数组
- 螺旋打印二维数组
- 二维数组打印
- iOS开发常用的宏
- nodejs使用kraken 搭建web工程
- COM学习笔记(九):包容
- MyBatis排序时使用order by 动态参数时需要注意,用$而不是# 用$传参时,直接将参数的值放在sql语句中,如:
- excel 单元格分列和合并
- 二维数组环形打印,亲自调试
- kettle的job中使用循环
- Linux 上多条对外连线(Multi-Path)实作------带宽负载平衡
- 扩展欧几里德算法
- windows下jmeter安装配置
- 写出健壮的Bash脚本
- Hadoop安装,问题汇总
- 浙大PAT考试1061~1064(2013-8-30)
- Storm源码细读——Nimbus启动