当前位置:   article > 正文

第六章 - c语言中的数组-二维数组(下)

第六章 - c语言中的数组-二维数组(下)
四、二维数组
  1. 二维数组的定义:

    (1) 数据类型  数组名[行数][列数];
        int a[3][2]; // 定义一个数组a,3行2列
    (2) 行和列都有各自的下标,行标为:行数-1 ; 列标为:列数-1
    (3) 二维数组的访问:数组名[行标][列标] , a[1][0]
    (4) 二维数组的遍历:
        int i,j; 
        for(i=0;i<行数;i++){
            for(j=0;j<列数;j++){
                // 通过 数组名[行标][列标]  访问数组元素
            }
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    #include<stdio.h>
    
    void main(){
    	int a[3][2];
    	a[0][0]=1;
    	a[0][1]=2;
    	a[1][0]=9;
    	a[1][1]=8;
    	a[2][1]=3;
    	int i;
    	int j;
    	for(i=0;i<3;i++){
    		for(j=0;j<2;j++){
    			printf("%d\t",a[i][j]);
    		}
    		printf("\n");
    	}
    } 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
  2. 二维数组的初始化

    (1) 语法1:数据类型 数组名[行数][列数]= {{值1,值2},{值3,值4}};
        例如:int a[2][3] = {{3,5,6},{7,9,2}};
    (2) 语法2:数据类型 数组名[行数][列数] = {值1,值2,值3,值4,值5};
        例如:int a[2][3] = {2,5,7,9,3,8};
    (3) 对部分数组元素赋值案例:
        int a[][] = {1,2,3,0,0,0,4,5};
        int a[][] = {{1,2,3},{ }, {4,5}};
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  3. 二维数组案例:杨辉三角形

    (1) 示例:
        1
        1 1
        1 2 1
        1 3 3 1
        1 4 6 4 1
    (2) 代码实现:
        #include<stdio.h>
        void main(){
        	int i = 0;
            int j = 0;
            int n = 0;
            scanf("%d", &n);
            int a[10][10] = { 0 };
            //存放元素
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < n; j++)
                {
                    if (j == 0 || i == j)  //第一列和i==j时直接赋值为1
                    {
                        a[i][j] = 1; 
                    }
                    if (i >= 2 && j >= 1)
                    {
                        a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
                    }
                }
            }
            //打印
            for (i = 0; i < n; i++)
            {
                for (j = 0; j <=i; j++)
                {
                    printf("%d ", a[i][j]);
                }
                printf("\n");
            }
        } 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/923882
推荐阅读
相关标签
  

闽ICP备14008679号