定义数组数组,就是一种容器。其具有以下特点
- 数组中所有元素具有相同的数据类型
- 一旦创建,不能改变大小
- 数组中的元素在内存中是连续依次排列的
数组的单元<数据类型> 数组名称[元素个数]
- int student[100];
- 元素数量必须是整数
- C99之前,元素数量必须是编译时刻确定好的字面量
二维数组
- 数组的每个单元就是数组类型的一个变量
- 使用数组时放在[ ]中的数字叫做下标或索引,从0开始
二维数组的遍历
- int a[3][5];
- 通常理解为a是一个三行五列的矩阵;
二维数组的初始化
- 列数是必须给出的,行数可以由编译器数;
- 每行一个{ },逗号分离;
- 如果省略,补零;
练习
- 读入一个3*3的矩阵,设1表示X,0表示O;
- 判断获胜的一方,输出表示获胜方的字符;
#include实列int main() { const size = 3; int board[3][3]; int i,j; int numX=0,numO=0; //读入矩阵 for (i = 0;i < size;i++) { for (j = 0;j < size;j++) { scanf("%d", &board[i][j]); } } //检查 for (i = 0;i < 3;i++) { for (j = 0;j < 3;j++) { if (board[i][j] == 1) { numX++; } else { numO++; } } if (numX == size) { printf("X获胜"); } else if(numO=size) { printf("O获胜"); } } }
写一个程序,输入不确定的[0~9]范围内的整数,统计出每一种数字出现的次数,输入-1结束。
#includeint main(void) { int x; int count[10]; //定义数组 //初始话数组 for (int i = 0;i < 10;i++) { count[i] = 0; } //数组参与运算 scanf("%d", &x); while (x != -1) { if(x>=0&&x<=9) { count[x]++; } scanf("%d", &x); } //遍历数组输出 for (int i = 0;i < 10;i++) { printf("%d:%dn", i, count[i]); } }



