![]() |
#2
luckhide2016-03-20 23:05
|

//输出三个学生四门课平均分
#include<stdio.h>
void average(float*p,int n);
void search(float(*p)[4],int n);
int main(void)
{
float score[3][4]={
{65, 67, 70, 60},
{80, 87, 90, 81},
{90, 99, 100, 98},
};
float (*p)[4];
int k;
scanf("%d",&k);
average(*score,12);
search(score,k);
return 0;
void/*函数的返回值的数据类型*/ average(float *p /*指向变量的指针做形式参数*/,int n)//总元素的个数,平均式的被除数)
{
float *p_end;
float sum=0,aver;
p_end=p+n-1; //p_end指向二维数组的最后一个元素a[3][4]的地址
for(/*不需要初始化*/;p<=p_end;p++)
sum=sum+(*p);//*p为二维数组a[3][4]首元素a[0][0]的值,sum为各元素值的累加
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("%7.2f",*(*(p+n)+i));//输出二维数组元素a[i][j]的值。
}
}
#include<stdio.h>
void average(float*p,int n);
void search(float(*p)[4],int n);
int main(void)
{
float score[3][4]={
{65, 67, 70, 60},
{80, 87, 90, 81},
{90, 99, 100, 98},
};
float (*p)[4];
int k;
scanf("%d",&k);
average(*score,12);
search(score,k);
return 0;
void/*函数的返回值的数据类型*/ average(float *p /*指向变量的指针做形式参数*/,int n)//总元素的个数,平均式的被除数)
{
float *p_end;
float sum=0,aver;
p_end=p+n-1; //p_end指向二维数组的最后一个元素a[3][4]的地址
for(/*不需要初始化*/;p<=p_end;p++)
sum=sum+(*p);//*p为二维数组a[3][4]首元素a[0][0]的值,sum为各元素值的累加
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("%7.2f",*(*(p+n)+i));//输出二维数组元素a[i][j]的值。
}
}