[TwistedFate]二维数组,字符串数组,多维数组
来源:互联网 发布:在线简谱制作软件 编辑:程序博客网 时间:2024/04/27 18:18
1.二维数组
数据类型 数组名[第一维长度][第二维长度] = {值1, 值2, ....};
一般第一维叫行,第二维叫列
需求: 声明一个三行四列的二维数组
int a[3][4] = {{1, 5, 2, 4},{32, 32, 4, 14},{2, 3, 4, 43};};
访问该二维数组的元素:
printf("%d",a[1][2]);
二维数组赋值:
a[1][3] = 33;
需求 : 声明一个四行五列的一个整型二维数组 并且随机赋值[20,100]之间的数
int arr[4][5] = {0};
// 循环赋值 遍历二维数组
for(int i = 0;i < 4; i++) {// 外层循环控制行数for(int j = 0; j < 5;j++){// 内层循环控制列数<span style="white-space:pre"></span>arr[i][j] = arc4random() % (100 - 20 + 1) + 20;<span style="white-space:pre"></span>printf("%d\t",arr[i][j]);}printf("\n");}
随机赋值[10,50]的数再将一个3行6列二维数组的行和列交换存储到另一个数组
int arr1[3][6] = {0}; for (int i =0; i <3; i++) { for (int j =0; j < 6; j++) { arr1[i][j] =arc4random() % (50 -10 +1) +10; printf("%d\t",arr1[i][j]); } printf("\n"); } int arr2[6][3] = {0}; for (int i =0; i <6; i++) { for (int j =0; j < 3; j++) { arr2[i][j] = arr1[j][i]; printf("%d\t",arr2[i][j]); } printf("\n"); }/** * 有一个三行四列的二维数组,要求编程找出最大元素和最小元素,并输出所在的行和列 */ int arr[3][4]; for (int i =0; i <3; i++) { //外层循环控制行数 for (int j=0; j <4; j++) { //内层循环控制列数 arr[i][j] = arc4random() % (50 -10 +1) +10; printf("%d\t",arr[i][j]); } printf("\n"); } int row1 =0; int line1 =0; int row2 = 0; int line2 =0; int max = arr[0][0]; int min = arr[0][0]; for (int i =0 ; i <3; i++) { for (int j =0; j <4; j++) { if (arr[i][j] > max) { max = arr[i][j]; row1 = i; line1 = j; } if (arr[i][j] < min) { min = arr[i][j]; row2 = i; line2 = j; } } } printf("最大值是%d,下标是%d\t%d,最小值是%d,下标是%d\t%d",max,row1,line1,min,row2,line2);
2.字符串数组
声明一个字符串数组 保存3个字符串且每个字符串20个字符;
注意: 声明时第二维下标代表每个字符串的长度 切记不要越界;
char str[3][20] = {"wanglong","wuyuchen","zhuangyong"};
取出字符串数组中 某一个字符串
用一维下标取出整个字符串 从零开始
printf("%s\n",str[0]); // 输出结果 wanglong
取出字符串数组中 单个字符
printf("%c",str[0][1]);
字符串赋值:
注意: * 字符串进行赋值的时候 需要使用字符串拷贝strcpy
strcpy(str[0], "zhangpeng");printf("%s\n",str[0]);//输出结果 zhangpeng
创建一个字符串数组 输出最长字符串的长度
char str[] = "zangjie";int length = (int)strlen(str);// 强制类型转换 无符号长整型->整型printf("%d",length);
/**
* // 创建一个字符串数组输出最长字符串的长度
*/
char str4[4][20] = { "zhangpeng", "wangzjemh", "yanggang", "songjinfeng" }; char max[] = {0}; strcpy(max, str4[0]); for (int i =0; i <4; i++) { if (strlen(max) <strlen(str4[i])) { strcpy(max, str4[i]); } } printf("%lu",strlen(max));
//创建一个字符串数组(内容是你周围一圈人的姓名),对字符串从小到大排序
char str[5][20] ={ "zhangpeng", "wangzheng", "songjinfeng", "yanggang", "chenmingming", }; for (int i =0; i <5 -1; i++) { for (int j =0; j <5 - i -1; j++) { if (strcmp(str[j], str[j+1]) >0) { char temp[20] = {0}; strcpy(temp, str[j]); strcpy(str[i], str[i +1]); strcpy(str[i +1], temp); } } } //打印结果 for (int i =0; i <5; i++) { printf("%s\n",str[i]); }
3.三维数组
声明一个两层三行四列的整形数组
int array[2][3][4] = { { {1,2,5,7}, {2,4,8,9}, {3,5,11,22}, }, { {12,15,16,11}, {13,16,11,22}, {22,24,21,21}, }, }; printf("%d\t",array[1][1][2]); //三维数组赋值中的元素 array[1][2][1] =233; printf("%d",array[1][2][1]); //需求:声明一个三维数组 3层5行3列随机赋值[50,100]间的数 int arr[3][5][3] = {0}; //最外层控制层数 for (int i =0; i <3; i++) { //中间层控制行数 for (int j =0; j <5; j++) { //最内层控制列数 for (int k =0; k <3; k++) { arr[i][j][k] = arc4random() % (100 -50 +1) +50; printf("%d\t",arr[i][j][k]); } printf("\n"); } printf("*****************\n"); }
//三维数组计算元素个数下标相乘
//定义数组时可以不给第一维的个数
// 1.初值不够一行时系统自动补齐一行,补0
// 2.初值刚刚够1行啥也不补
// 3.初值超过1行不足2行时自动补齐补0
// int array[][4] = {1, 2, 3};// for (int i = 0; i < 3; i++) {// for (int j = 0; j < 4; j++) {// printf("%d",array[i][j]);// }// }
0 0
- [TwistedFate]二维数组,字符串数组,多维数组
- 二维数组,字符串,多维数组
- 二维数组,字符串数组,多维数组
- C5_二维数组,字符串数组,多维数组
- 二维数组、字符串数组、多维数组
- 5.二维数组、字符串数组、多维数组
- C5-二维数组、字符串数组、多维数组
- c_二维数组,字符串数组,多维数组
- c_二维数组,字符串数组,多维数组
- 二维数组,多维数组,字符串数组;
- C语言--关于二维数组,字符串数组,多维数组
- C语言--二维数组,字符串数组,多维数组
- C_二维数组, 字符串数组, 及多维数组
- C语言编程5 二维数组、字符串数组、多维数组
- 二维数组及多维数组
- php打乱数组二维数组多维数组
- php打乱数组二维数组、多维数组
- java数组-二维数组及多维数组
- 图像缩放算法及速度优化
- Cookie/Session机制详解
- Java学习笔记---数组操作的10大方法
- <Effective C++改善程序与设计的55个具体做法>2 构造/析构/赋值运算
- C#访问gsoap的服务
- [TwistedFate]二维数组,字符串数组,多维数组
- 经济学入门概念及原理-2
- 深度理解C指针---读书笔记
- 数据库连接池(JDBC_dbcp、JDBC_c3p0)
- thread-safe 和 reentrant
- [c++] The BookStore Program
- C++ Error2005
- Codeforces 500C New Year Book Reading
- 修改weblogic的jdk版本