问题;输出班级第n个学生的平均成绩。每个学生有英语、数学、语文、计算机4科成绩。若干个学生的4门成绩构成一个表格,可以用二维数组储存,每行代表一个学生的4门成绩。以为要计算某个学生的平均成绩,需要快速定位到该生成绩的起始位置,依次取出各门成绩进行累加。所以定义一个指向4个float型组成一维数组的行指针p,用来指向该生成绩的起始位置,该生的各科成绩可用(*p)[i]表示。
作者 郭聪
5.#include<stdio.h>
6.#define NUM_COURSE 4
7.#define NUM_STUDENT 3
8.int main()
9.{
10. float score[NUM_STUDENT][NUM_COURSE]={{92,96,80,67},{89,81,93,75},{67,99,71,83}};
11. float (*p)[NUM_COURSE];
12. float sum=0;
13. int i;
14. int n;
15. scanf("%d",&n);
16. p=score+n-1;//定位到对应行
17. for(i=0;i<4;i++)
18. sum+=(*p)[i];
19. printf("%.1f\n",sum/NUM_COURSE);
20. return 0;
21.}