如何用一个for循环打印出一个二维数组
来源:互联网 发布:校园网网络拓扑图说明 编辑:程序博客网 时间:2024/06/06 04:41
解析
常规的可以通过两层for循环嵌套来进行二维数组的输出,设二维数组array[MAXX][MAXY],其中MAXX表示是二维数组的行数,MAXY表示的是二维数组的列数。
代码
#include <stdio.h>#define MAXX 2#define MAXY 3void printArray(){ int array[MAXX][MAXY] = { 1,2,3,4,5,6}; for(int i = 0;i<MAXX;i++) for(int j = 0;j<MAXY;j++) { printf("%d\n",array[i][j]); }}int main(){ printArray(); return 0;}
而题目要求是只使用一次for循环
因为二维数组在内存中默认是行存储的;
所以可以将数组array看成一个一维数组,i 标识该数组在一维数组中的位置。则array在二维数组中的行号和列号分别为[i/MAXY],[i%MAXY];
实现代码如下:
#include <stdio.h>#define MAXX 2#define MAXY 3void printArray(){ int array[MAXX][MAXY]={1,2,3,4,5,6}; { printf("%d\n",array[i/MAXY][i%MAXY]); }}int main(){ printArray(); return 0;}
拓展
三维数组
#include <stdio.h>int main(){ int a[2][2][3] = {{{1,6,3},{5,4,15}},{{3,5,33},{23,12,7}}; for(int i =0;i<12;i++) printf("%d\n",a[i/6][(i/3)%2][i/2]): printf("\n"); return 0;}
结果 1,6,3,5,4,15,3,5,33,23,12,7
阅读全文
0 0
- 如何用一个for循环打印出一个二维数组
- 如何用一层for循环打印出一个二维数组
- 问题2:如何用一个for循环打印出一个二维数组?
- 如何用一个 FOR 循环打印出一个二(三)维数组
- 用一个for循环打印出一个二维数组
- 用一个for循环打印出一个二维数组
- 一个For循环打印二维数组
- 使用一个for循环打印二维数组和三维数组
- 一个for循环打印出菱形
- JAVA语言如何用星号打印出一个近似圆
- 一个for循环输出二维数组
- 程序员面试题目总结--数组(一)【递归求数组所有元素和、用一个for循环打印出一个二维数组、用递归判断数组是否是递增、有序数组中删除重复元素】
- java如何高效打印一个二维数组(不用递归,不用两个for循环)
- 如何用人工智能分辨出一个苹果?
- [Unity&JSON&List&数组]如何用一个 list 代替 二维 sting 类型数组
- 使用for循环定义一个二维数组;(初学者)
- 螺旋式打印一个二维数组
- 螺旋式打印一个二维数组
- C++中拷贝构造函数、浅拷贝与深拷贝的详解
- RF+Appium环境配置三:设置截屏存储路径
- pm2+node+svn hook实现服务器实时上传更新
- 编译时,GCC做了什么?
- LeetCode#11 Container With Most Water
- 如何用一个for循环打印出一个二维数组
- 红黑树深入剖析及Java实现
- Java多线程____经典多线程教程转
- awk命令
- iOS开发
- ajax跨域解决方法
- jvm之内存管理和垃圾回收
- HashMap在Java1.7与1.8中的区别
- 过滤器Filter、Filter的生命周期,以及常用方法