赞
踩
二维数组的定义:
(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++){
// 通过 数组名[行标][列标] 访问数组元素
}
}
#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) 语法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) 示例: 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"); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。