-----二维数组
     ->在数组定义当中,行数和列数需要用常量定义
     ->在定义的时候如果没有数值进行填充,则补零
     ->第一个数是行,第二个数是列
     ->行可以不写,但必须定义列
        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. [serverlet][转载: 深入理解HTTP Session]

    [serverlet][转载: 深入理解HTTP Session] 标签(空格分隔): 未分类 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. ...

  2. C#中几种换行符

    1.Windows 中的换行符"\r\n" 2.Unix/Linux 平台换行符是 "\n". 3.MessageBox.Show() 的换行符为 " ...

  3. iis配置出现的问题及解决

    唯一密钥属性“value”设置…无法添加类型为add 在配置IIS7.5时,会出现 在唯一密钥属性“value”设置为“default.aspx”(或者index.asp等)时,无法添加类型为“add ...

  4. tomcat 显示目录文件列表

    conf/web.xml中,listings改为true,重启 http://liusu.iteye.com/blog/794613 <servlet> <servlet-name& ...

  5. k-means均值聚类算法(转)

    4.1.摘要 在前面的文章中,介绍了三种常见的分类算法.分类作为一种监督学习方法,要求必须事先明确知道各个类别的信息,并且断言所有待分类项都有一个类别与之对应.但是很多时候上述条件得不到满足,尤其是在 ...

  6. 一些常用的js,jquerry 样例

    1 设置属性    $(document).attr("title", str) 2 删除属性在增加属性    $("#" + bottonname).remo ...

  7. 【杭州图铭科技有限公司招募贴】——“JUST DO IT”

    I'm convinced that the only thing that kept me going was that I loved what I did. ——Steve Paul Jobs( ...

  8. Itext 中的文本信息绝对定位

    PdfContentByte pcb = pw.getDirectContent(); pcb.beginText(); pcb.setFontAndSize(bfChinese, 12); pcb. ...

  9. 查看服务器IP连接数之主要命令(在服务器受攻击时用)

    查看TCP几种状态的总数 netstat -n | awk '/^tcp/ {++S[$NF]} END {fo (a in S). print a, S[a]}' 按IP查看连接数排序 netsta ...

  10. 【Xamarin 开发 IOS --IOS 页面导航概念Segue】

    Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom 一.视图切换类型介绍在storyboard中,segue有几种不同的类型, ...