有一个班,3个学生,各学四门课,计算总平均分以及第n个学生的成绩。
解题思路:用指向数组的指针做函数参数,average函数求平均值,search函数找到第n个学生的成绩。
#include<stdio.h>
int main(){
void average(float *p,int n);
void search(float(*p)[4],int n);
float score[3][4] = {{60,70,80,85},{90,95,96,100},{20,39,49,59}};
average(*score,12);
printf("\n");
search(score,2);
return 0;
}
void average(float *p,int n){
float *p_end;
float sum = 0,aver;
p_end = p+n-1;
for(;p<=p_end;p++){
sum = sum+(*p);
}
aver = sum/n;
printf("average = %5.2f",aver);
}
void search(float(*p)[4],int n){
int i;
printf("the score of NO.%d are:\n",n);
for(i = 0;i<4;i++){
printf("%5.2f ",*(*(p+n-1)+i));}
printf("\n");
}