-----二维数组
     ->在数组定义当中,行数和列数需要用常量定义
     ->在定义的时候如果没有数值进行填充,则补零
     ->第一个数是行,第二个数是列
     ->行可以不写,但必须定义列
        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. 服务 IntentService 前台服务 定时后台服务

    Activity public class MainActivity extends ListActivity {     private int intentNumber = 0;     @Ove ...

  2. web前端技术

    在网上找了点前端资料,记录下来,以便后面工作可能用到. Flat UI:一个WEB界面工具组件库.很多漂亮的菜单.按钮等. stickUp:一个jquery插件,可以将页面中的元素固定.经常用在把菜单 ...

  3. c# 交换两个变量

    使用临时变量: 有人会问只使用两个变量交换,怎么办? 不实用临时变量: 第一种: a=a+b; b=a-b; a=a-b; 第二种: 异或:相同是0,不同是1 上面是整型的,那么字符串可以直接异或吗? ...

  4. Geodatabase - 打开栅格数据

    打开栅格数据 和打开要素类的方式类似,打开栅格数据集需要用 IRasterWorkspace,如 //获得栅格工作空间(普通目录). public ESRI.ArcGIS.DataSourcesRas ...

  5. java泛型中? super T和? extends T的区别

    <? super T>表示包括T在内的任何T的父类,<? extends T>表示包括T在内的任何T的子类;请记住PECS原则:生产者(Producer)使用extends,消 ...

  6. C#高级知识点概要(3) - 特性、自动属性、对象集合初始化器、扩展方法、Lambda表达式和Linq查询

    1.特性(Attributes) 特性(Attributes),MSDN的定义是:公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型.字段.方法 ...

  7. h5标签canvas关于getImageData跨域的问题

    h5标签canvas关于getImageData跨域的问题 在学习h5的时候,canvas标签中getImageData()报错:security error! 具体代码如下(chrome浏览器): ...

  8. 随笔: WC2016感想

    在某些时刻,我可以体会到非常复杂的情感,这种情感神秘的来源不能被描述.它非常的复杂.你无法分清,这种情感是来源于一个个神经元控制的情感系统的一时冲动,亦或是你如实地反馈了你所正在感知的外界. 但我曾在 ...

  9. (原)windows8.1上使用opencv for python

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6204100.html 参考网址: http://www.docs.opencv.org/master/ ...

  10. uva 11038 - How Many O's?

    想法: 將問題簡化為求1~m 0的總數,以及1~n 0的總數,然後最後再相減. 求1~n 0的總數,要將n分別算每個位數0的個數,舉例如30324: 先從右邊第一位'4'開始,其左邊為3032,表示1 ...