有一个班,3个学生,各学4门课,计算总平均分,以及第n个学生的成绩
本例题用指向数组的指针作函数参数。用函数avg求平均成绩,用函数search找出并输出第i个学生.
#include<stdio.h>
void avg(float *p,int n);
void search(float (*p)[4],int n);
int main()
{
float a[3][4]={{80,78,90,92},{86,84,82,86},{88,88,76,90}};
avg(*a,12);
search(a,2);
return 0;
}
void avg(float *p,int n)
{
float *p_end;
float sum=0,ave;
p_end=p+n-1;
for(;p<=p_end;p++){
sum=sum+(*p);
}
ave=sum/n;
printf("%5.3f\n",ave);
}
void search(float (*p)[4],int n)
{
int i=0;
for(i=0;i<4;i++){
printf("%7.3f",*(*(p+n)+i));
}
}
运行结果: