C5-二维数组、字符串数组、多维数组

来源:互联网 发布:软件企业审计表格 编辑:程序博客网 时间:2024/04/27 18:13

一、二维数组
1.二维数组定义:
这里写图片描述
注:常量表达式1->第一维度
常量表达式2->第二维度
可以没有第一维度的长度,但一定要写第二维度长度
若不指定第一维度,就一定要加初值
2.使用二位数组中的元素,数组名[第一维度下标][第二维度下标]
这里写图片描述
二、字符数组(注:每个字符串长度不能超过第二个维度的长度-1)
这里写图片描述

三、三维数组
这里写图片描述

代码:

int main(int argc, const char * argv[]) {

//二维数组定义//类型说明符 数组名[常量表达式1][常量表达式2] = 初值//常量表达式1->第一维度//常量表达式2->第二维度

// int array[3][4] = {0};
// int array1[2][3] = {1, 2, 3, 4, 5, 6};
//可以没有第一维度的长度,但一定要写第二维度长度
//若不指定第一维度,就一定要加初值
// int array2[][3] = {1, 2, 3, 4, 5, 6};
//语法糖
// int a[3] = {1, 2, 3};
// printf(“%d\n”, 2[a]);

//使用二维数组中的元素,数组名[第一维度下标][第二维度下标]

// int array[2][3] = {1, 2, 3, 4, 5 ,6};
// printf(“%d\n”, array[1][2]);

// float array[7][8] = {0};
// array[2][4] = 3.3;
// printf(“%f “, array[2][4]);

// int array[2][3] = {1, 2, 3, 4, 5, 6};
// //遍历行
// for (int i = 0; i < 2; i++) {
// //遍历列
// for (int j = 0; j < 3; j++) {
// printf(“%d “, array[i][j]);
// }
// printf(“\n”);
// }

//生成随机数组,输出个位为‘7’的数

// int array[3][4] = {0};
// for (int i = 0; i < 3; i++) {
// for (int j = 0; j < 4; j++) {
// array[i][j] = arc4random() % (40 - 20 + 1) + 20;
// if (7 == array[i][j] % 10) {
// printf(“%d “, array[i][j]);
// }
// //printf(“%d “, array[i][j]);
// }
// printf(“\n”);
// }

//数组行列交换

// int a[2][3] = {1, 2, 3, 4, 5, 6};
// int b[3][2] = {0};
// for (int i = 0; i < 3; i++) {
// for (int j = 0; j < 2; j++) {
// b[i][j] = a[j][i];
// printf(“%d “, b[i][j]);
// }
// printf(“\n”);
// }

//求一个数组中的最大数以及所在位置

// int max = 0;
// int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
// for (int i = 0; i < 3; i++) {
// for (int j = 0; j < 4; j++) {
// max = max > a[i][j] ? max : a[i][j];
// }
// }
// printf(“最大数是:%d\n”, max);
// for (int i = 0; i < 3; i++) {
// for (int j = 0; j < 4; j++) {
// if (max == a[i][j]) {
// printf(“在第%d行,第%d列”, i + 1, j + 1);
// }
// }
// }
// printf(“\n”);

//一维数组字符定义

// char str[5] = {‘a’, ‘b’, ‘c’};
// char str[5] = “abc”;

//二维数组字符定义

// char array[2][2] = {‘a’, ‘b’, ‘c’, ‘d’};
// char array[2][2] = {“ab”, “cd”};
//
// char array[2][3] = {“ab”, “cd”};
// printf(“%c\n”, array[0][1]);
// printf(“%s\n”, array[0]);
// printf(“%s\n”, array[0]);

// char a[4][30] = {“chexiaoming”, “zhangzhengmei”, “lijiawei”, “jiangyunlong”};
// long max = 0;
// for (int i = 0; i < 4; i++) {
// long ret = strlen(a[i]);
// max = max > ret ? max : ret;
// printf(“%ld “, ret);
// }
// printf(“\n%ld “, max);

// char a[4][30] = {“chexiaoming”, “zhangzhengmei”, “lijiawei”, “jiangyunlong”};
// for (int i = 0; i < 3; i++) {
// for (int j = 0; j < 3 - i; j++) {
// //判断大小
// if (strcmp(a[j], a[j + 1]) > 0) {
// //交换
// //注意:空瓶的大小要足够容纳最长的字符串
// char temp[30] = {0};
// //注意:字符串不能用’=’进行赋值
// strcpy(temp, a[j]);
// strcpy(a[j], a[j + 1]);
// strcpy(a[j + 1], temp);
// }
// }
// }
// for (int i = 0; i < 4; i++) {
// printf(“%s “, a[i]);
// }

//int a[2][3][4] = {0};//表示整型的三维数组,2层3行4列//元素个数 2*3*4 = 24个//三维数组遍历(注意:for循环中的循环条件的数值)

// int a[2][3][4] = {0};
// for (int i = 0; i < 2; i++) {
// for (int j = 0; j < 3; j++) {
// for (int n = 0; n < 4; n++) {
// a[i][j][n] = arc4random();
// printf(“%d “, a[i][j][n]);
// }
// printf(“\n”);
// }
// printf(“\n”);
// }

return 0;

}

0 0