C5_二维数组
2015-07-11 11:24
302 查看
// 各种数组
// 定义一个三行四列的二维数组
// 打印第三行第二个数
// 遍历二维数组
// 定义一个三行四列数组,对数组进行随机数赋值,范围30-70
// 找出最大值和最大值所对应的下表
// 练习. 交换数组的行列
// 用一个一维数组,打印出二维数组的样式
// 练习. arr[12] 取值范围30 - 40,打印成三行四列
定义二维数组时,可以省略行数,但不能省略列数
// 字符串数组
// 第一个[]表示字符串个数
// 第二个[]表示每个字符串的最大长度
// 字符串和一维数组不能直接用等号赋值!!!
// 多维数组:多一个维度相当于一个容器
int arr[] = {1, 2, 3, 4, 5}; char stuName[20] = "wangermazi"; int arr[5] = {0}; int a = 10; int arr1[a]; // 如果数组位数用变量定义,其后不能设定初值
// 定义一个三行四列的二维数组
int arr[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
// 打印第三行第二个数
printf("%d\n",arr[2][1]); arr[2][1] = 20; // 直接进行赋值
// 遍历二维数组
printf("%d\n",arr[2][1]); for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { printf("%d\n",arr[i][j]); } printf ("\n"); }
// 定义一个三行四列数组,对数组进行随机数赋值,范围30-70
int arr[3][4] = {0}; for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { arr[i][j] = arc4random() % (70 - 30 + 1) + 30; printf("arr[%d][%d] = %d ",i,j,arr[i][j]); } printf("\n"); }
// 找出最大值和最大值所对应的下表
int max = 0, maxIndexX = 0, maxIndexY = 0; for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { arr[i][j] = arc4random() % (70 - 30 + 1) + 30; } } for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j ++) { if (arr[i][j] > max) { max = arr[i][j]; maxIndexY = j; maxIndexX = i; } } } printf("最大值arr[%d][%d]为%d\n",maxIndexX,maxIndexY,max);
// 练习. 交换数组的行列
int a[3][4] = {1, 2, 4, 3, 5, 6, 7, 8, 9, 10, 11, 12}; int aNew[4][3] = {0}; for (int i = 0; i < 4; i++) { for (int j = 0; j < 3; j++) { aNew[i][j] = a[j][i]; printf("aNew[%d][%d] = %d ",j,i,aNew[i][j]); } printf("\n"); }
// 用一个一维数组,打印出二维数组的样式
int arr[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { printf("%d ",arr[j + i * 3]); } printf("\n"); }
// 练习. arr[12] 取值范围30 - 40,打印成三行四列
int arr[12] = {0}; for (int i = 0; i < 12; i++) { arr[i] = arc4random() % (70 - 30 + 1) + 30; } for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { printf("%d ",arr[j + i * 4]); } printf("\n"); }
定义二维数组时,可以省略行数,但不能省略列数
// 字符串数组
// 第一个[]表示字符串个数
// 第二个[]表示每个字符串的最大长度
char strings[3][10] = {"iPhone","Android","Win8"}; printf("%s\n",strings[2]); for (int i = 0; i < 3; i++) { printf("%s ",strings[i]); }
// 字符串和一维数组不能直接用等号赋值!!!
strcpy(strings[1], "Flyme"); printf("%s\n",strings[1]);
// 多维数组:多一个维度相当于一个容器
int arr[2][2][3] = {1, 2, 3, 4, 5, 7, 6, 8, 9, 10, 11, 12}; for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { for (int k = 0; k < 3; k++) { printf ("%2d ",arr[i][j][k]); } printf("\n"); } printf("\n"); }
相关文章推荐
- Linux C函数参考手册(PDF版)
- Lua教程(十七):C API简介
- C#实现打造气泡屏幕保护效果
- C/C++数据对齐详细解析
- C 语言基础教程(我的C之旅开始了)[三]
- C++中的extern “C”用法详解
- C 语言基础教程(我的C之旅开始了)[七]
- C字符串操作函数实现方法小结
- C/C++ 宏详细解析
- C/C++实现对STORM运行信息查看及控制的方法
- 用C#生成不重复的随机数的代码
- 在c和c++中实现函数回调
- 浅析C/C++中被人误解的SIZEOF
- C 语言基础教程(我的C之旅开始了)[六]
- C/C++实现的游戏角色名称名字随机生成代码
- C/C++函数调用的几种方式总结
- c/c++中变量的声明和定义深入解析
- 浅析c与c++中struct的区别
- 深入详解C编写Windows服务程序的五个步骤