输出第n个学生的平均成绩

问题;输出班级第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.}
  



版权声明:本文为GUOCONG123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。