字体
第(2/6)页
关灯
   存书签 书架管理 返回目录

    a[3][4]

    表示 a 数组三行四列的元素。

    下标变量和数组说明在形式中有些相似,但这两者具有完全不同的含义。数组说明的方

    括号中给出的是某一维的长度,即可取下标的最大值;而数组元素中的下标是该元素在数组

    中的位置标识。前者只能是常量,后者可以是常量,变量或表达式。

    【例 7.6】一个学习小组有 5 个人,每个人有三门课的考试成绩。求全组分科的平均成绩和

    各科总平均成绩。

    Math

    张  王

    80 61

    李

    59

    赵

    85

    周

    76

    C

    75

    65

    63

    87

    77

    Foxpro 92

    71

    70

    90

    85

    可设一个二维数组 a[5][3]存放五个人三门课的成绩。再设一个一维数组 v[3]存放所求

    得各分科平均成绩,设变量 average 为全组各科总平均成绩。编程如下:

    main()

    {

    int i,j,s=0,average,v[3],a[5][3];

    printf("input score\n");

    for(i=0;i<3;i++)

    {

    for(j=0;j<5;j++)

    { scanf("%d",&a[j][i]);

    s=s+a[j][i];}

    v[i]=s/5;

    s=0;

    }

    average =(v[0]+v[1]+v[2])/3;

    printf("math:%d\nc languag:%d\ndbase:%d\n",v[0],v[1],v[2]);

    printf("total:%d\n", average );

    }

    谭浩强      C 语言程序设计               2001 年 5 月 1 日

    程序中首先用了一个双重循环。在内循环中依次读入某一门课程的各个学生的成绩,并

    把这些成绩累加起来,退出内循环后再把该累加成绩除以 5 送入 v[i]之中,这就是该门课

    程的平均成绩。外循环共循环三次,分别求出三门课各自的平均成绩并存放在 v 数组之中。

    退出外循环之后,把 v[0],v[1],v[2]相加除以 3 即得到各科总平均成绩。最后按题意输出

    各个成绩。

    7.2.3 二维数组的初始化

    二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可按行分段赋值,

    也可按行连续赋值。

    例如对数组 a[5][3]:

    1) 按行分段赋值可写为:

    int a[5][3]={ {80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85} };

    2) 按行连续赋值可写为:

    int a[5][3]={ 80,75,92,61,65,71,59,63,70,85,87,90,76,7
上一页 目录 下一页