-----二维数组
     ->在数组定义当中,行数和列数需要用常量定义
     ->在定义的时候如果没有数值进行填充,则补零
     ->第一个数是行,第二个数是列
     ->行可以不写,但必须定义列
        int array [][] = {,,,,,,,,,,,};
int array1[][] = {{,,},{,,},{,,},{}}; printf("%d",array[][]);
printf("\t%d",array1[][]); int a = ;
int b = ;
array[a][b] = ;
printf("\t%d",array[][]); int array[][] = {,,,,,,,,}; int array[][] = {,,,,,,,,};
printf("%lu",sizeof(array)); int array[][] = {,,,,,,,,};
// printf("%lu",sizeof(array)); for (int i = ; i < ; i ++) {
for (int j = ; j < ; j++) {
printf("%d ",array[i][j]);
}
printf("\n");
}
     ->所占用的内存空间
        int array[][] = {,,,,,,,,};
printf("%lu",sizeof(array)); int array[][] = {,,,,,,,,};
printf("%lu",sizeof(array));
     ->二维数组打印的话需要两层循环的配合,第一层代表行,第二层代表列
        int array[][];
for (int i = ; i < ; i ++) {
for (int j = ; j < ; j ++) {
array[i][j] = arc4random() % ;
printf("%d\t",array[i][j]);
}
printf("\n");
}
     ->数组求和练习

        int sum = ;
for (int i = ; i < ; i++) {
sum = sum + array[][i]; }
printf("\n第0行总和:%d",sum);
int sum1 = ;
for (int i = ; i < ; i ++) {
for (int j = ; j < ; j++) {
sum1 = sum1 + array[i][j];
}
printf("\n第%d行的总和:%d",i ,sum1);
sum1 = ;
}
printf("\n");
int sum2 = ;
for (int i = ; i < ; i++) {
for (int j = ; j < ; j++) {
sum2 = sum2 + array[j][i];//谁变化的快就放到内层循环
}
printf("\n第%d列的总和:%d",i,sum2);
sum2 = ;
}
 
 
——字符串数组(字符数组)
     ->存储多个字符串
     ->char string[i][j] 可以保存i个字符串,每个字符串不能大于j-1个
     第一位度表示可以放几个字符串,第二维度每个字符串表示最大长度-1;
     ->可以用一个下标访问,访问的是整个字符串
     ->两个下标访问的是字符
     ->不能直接替换
    ->得用strcpy
        char string[][] = {"maoyuanbo","maomao","hahahaha"};
printf("%c",string[][]);
printf("\n%s",string[]); char string[][] = {"iphone","android","winphone"}; printf("%c",string[][]);
printf("\n%s",string[]);
strcpy(string[], "nokia");
printf("\n%s",string[]);
     >冒泡排序
         char string[][] = {};
for (int i = ; i < ; i++) {
scanf("%s",string[i]);
} for (int i = ; i < ; i++) {
for (int j = ; j < - i; j++) {
if (strcmp(string[j], string[j+]) > ) {
char name[] = {};
strcpy(name, string[j]);
strcpy(string[j], string[j+]);
strcpy(string[j+], name);
}
}
}
for (int i = ; i < ; i++) {
printf("\n%s",string[i]);
}
     ->选择排序
         char string[][] = {};
int minindex = ;//设最小值为第一个数
for (int i = ; i < ; i++) {
scanf("%s",string[i]);
}
for (int i = ; i < ; i++) {
for (int j = i + ; j < ; j++) {
if (strcmp(string[minindex], string[j]) > ) {
minindex = j;
} }
if (minindex != i) {
char name[] = {};
strcpy(name, string[i]);
strcpy(string[i], string[minindex]);
strcpy(string[minindex], name);
}
}
for (int i = ; i < ; i++) {
printf("\n%s",string[i]);
}
     ->求最大字符串长度
         char string[][] = {};
unsigned long maxworld = ;//定义一个最大的字符串长度
for (int i = ; i < ; i++) {
scanf("%s",string[i]);
}
//求出最长长度
for (int i = ; i < ; i++) {
if (strlen(string[i]) > maxworld) {
maxworld = strlen(string[i]);
}
}
printf("最长长度为:%ld\n",maxworld);
for (int i = ; i < ; i++) {
if (strlen(string[i]) == maxworld) {
printf("%s\t",string[i]);
}
} char array[][] = {};
unsigned long maxworld = ;
for (int i = ; i < ; i++) {
scanf("%s",array[i]);
}
for (int i = ; i < ; i++) {
if (strlen(array[i]) > maxworld) {
maxworld = strlen(array[i]);
}
}
printf("最长长度:%ld\n",maxworld);
for (int i = ; i < ; i ++) {
if (strlen(array[i]) == maxworld) {
printf("%s ",array[i]);
}
}
 
——多维数组
 
    int a[][][] = {};
int sum = ,sum1 = ;
for (int i = ; i < ; i ++) {
for (int j = ; j < ; j ++) {
for (int k = ; k < ; k++) {
a[i][j][k] = arc4random() % ;
printf("%d\t",a[i][j][k]);
sum1 =a[i][j][k] +sum1;
sum = a[i][j][k] +sum;
}
printf("每一行总和:%d",sum1);
sum1 = ;
printf("\n");
}
printf("每一层总和:%d",sum);
sum = ;
printf("\n\n");
}

C-二维数组,多维数组的更多相关文章

  1. PHP如何判断一个数组是一维数组或者是二维数组?用什么函数?

    如题:如何判断一个数组是一维数组或者是二维数组?用什么函数? 判断数量即可 <?php if (count($array) == count($array, 1)) { echo '是一维数组' ...

  2. 【C语言学习】-05 二维数组、字符串数组、多维数组

    ⼆二维数组.字符串数组.多维数组

  3. C# 数组、一维数组、二维数组、多维数组、锯齿数组

    C#  数组.一维数组.二维数组.多维数组.锯齿数组 一.数组: 如果需要使用同一类型的对象,就可以使用数组,数组是一种数据结构,它可以包含同一类型的多个元素.它的长度是固定的,如长度未知的情况下,请 ...

  4. C#二维数组(矩形数组,交错数组)

    C# 支持一维数组.多维数组(矩形数组)和数组的数组(交错的数组) 1.多维数组 声明:string[,] names; 初始化:int[,] numbers = new int[3, 2] { {1 ...

  5. 《Javascript权威指南》学习笔记之十二:数组、多维数组和符合数组(哈希映射)

    Array(数组)是JavaScript中较为复杂的数据类型,同Java.C#.VB等程序语言的数组相比.Javascript数组中的元素不必为同样的数据类型,能够在数组每一个元素上混合使用数字.日期 ...

  6. 求一个二维整数数组最大子数组之和,时间复杂度为N^2

    本随笔只由于时间原因,我就只写写思想了 二维数组最大子数组之和,可以  引用  一维最大子数组之和 的思想一维最大子数组之和 的思想,在本博客上有,这里就不做多的介绍了 我们有一个最初的二维数组a[n ...

  7. C语言数组:C语言数组定义、二维数组、动态数组、字符串数组

    1.C语言数组的概念 在<更加优美的C语言输出>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include &l ...

  8. java - day005 - 数组工具类, 数组复制,二维数组,变量,方法, 面向对象

    1. java.util.Arrays  数组工具类    Arrays.toString (数组) 数组值链接字符串 Arrays.sort(数组) 基本类型: 优化的快速排序 引用类型: 优化的合 ...

  9. java 二维数组和对象数组

    1.二维数组:二维数组就是存储一维数组(内存地址/引用)的数组 2.二维数组的初始化 1) int intA[][]={{1,2},{2,3},{3,4,5}}; 2) int [][] intB=n ...

  10. [PHP]快速实现:将二维数组转为一维数组

    如何将下面的二维数组转为一维数组. $msg = array( array( 'id'=>'45', 'name'=>'jack' ), array( 'id'=>'34', 'na ...

随机推荐

  1. MySQL与mabits大小比较、日期比较示例

    首先,使用mysql查询从今往后的60天数据 SELECT count(*), b1.record_date FROM nk_house_use_record AS b1, ( SELECT a.th ...

  2. Combo( 自定义下拉框) 组件

    本节课重点了解 EasyUI 中 Combo(自定义下拉框)组件的使用方法,这个组件依赖于ValidateBox(验证框)组件 一. 加载方式自定义下拉框不能通过标签的方式进行创建.<input ...

  3. [Linux命令]tar命令

    tar 命令的解释: tar(bsdtar): manipulate archive files First option must be a mode specifier: -c Create -r ...

  4. OSG调试信息显示

    调试信息显示 OSG 可以将各式各样的调试信息输出到std:cout.这在开发OSG 程序时十分有用,你可以借此观察OSG 的执行的各种操作.环境变量OSG_NOTIFY_LEVEL用于控制OSG调试 ...

  5. HTML学习笔记之meta标签

    一.meta标签的组成 meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能. 1.name属性 name属性 ...

  6. memcached全面剖析

    memcached介绍如今,越来越多的Web应用程序开始使用memcached这个高速的缓存服务器软件.然而,memcached的基础知识远远未能像其他Web技术那样普及,memcached在国内的大 ...

  7. DeDe调用指定栏目ID下的文章

    *注: row: 调用条数 titlelen: 字数 typeid: 调用的栏目ID orderby: 按照升序对记录进行排序 idlist: 提取特定文档为空 infolen='40' 内容简介长度 ...

  8. 一些关于poi导入的样例

    获取请求对象 MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; 获取上传的文件 ...

  9. XCode中使用SVN 教程

    修改subversion.config方法: 可以直接在终端上输入:vi ~/.subversion/config来编辑. 也可以通过Finder搜索.subversion,点击下边的+号,进入高级搜 ...

  10. pcduino通过sd卡刷系统

    1.登录到pcduino的官网,下载相应的文件. 下载第一个kernel和后面那个ubuntu. 2.将SD卡插入到电脑上,运行下面这个软件: 那个盘符就是你的SD卡的盘符,选择卡量产,镜像文件选上面 ...