1.数据可以存放在变量里,每一个变量有一个名字,有一个类型,还有它的生存空间。如果我们需要保存一些相同类型、相似含义、相同生存空间的数据,我们可以用数组来保存这些数据,而不是用很多个独立的变量。数组是长度固定的数据结构,用来存放指定的类型的数据。一个数组里可以有很多个数据,所有的数据的类型都是相同的。
2.数组有效的下标值是从0到数组个数-1.
3.C99允许数组元素的个数是个变量。
4.数组变量本身不能被赋值,比如以下这个语句是错误的 int b[] = a;//a是之前定义的一个数组
要把一个数组的所有元素交给另一个数组,必须采用遍历。
一维数组 统计某个数字出现的次数条件:这个数字要在0-9之间。(这只是一个示例)
方法:相当于将0-9这十个数字与数组下标一一对应,而数组元素的值则是出现的次数。
#include#include int main() { //数组 const int number = 10;//尽量减少magic number的使用 int count[number]; int m,n; //初始化数组 for (m=0;m =0 && n<=9){ count[n] ++; } scanf("%d", &n); } //遍历数组 for(m=0;m 输出比平均数大的数 重点:输入的这些数要被保存下来,因此要采用数组。
#include二维数组#include int main() { printf("------------输出比平均数大的数---------n"); int num[100]; int x; double sum; int i=0; scanf("%d", &x); while(x!=-1){ num[i] = x; sum += x; i++; scanf("%d", &x); } if(i>0){ printf("平均数为:%fn", sum/i); printf("大于平均数的数有:"); int j; for(j=0;j sum/i){ printf("%d ", num[j]); } } } printf("n"); return 0; } 二维数组的初始化,行数是必须给出的,列数可以由编译器自己记录。
每行一个{}并且要用','隔开。
int a[][4] = { {1,2,3}, {2,3,4}, };井字棋判断哪一方获胜读入一个3*3的矩阵,矩阵中数字为1表示该位置上有一个X,为0表示该位置上有一个O。(要输入整个棋盘)
输出X方获胜,或者O方获胜,或者无人获胜。
#include#include int main() { //二维数组 const int size = 3; int board[size][size]; int i,j; int numX; int numO; int result = -1;//1表示X赢,0表示O赢,-1表示无人赢 //读入矩阵 for (i=0; i



