/*输入4个学生的5门成绩,分别用函数实现以下功能:
1:打印每个学生的成绩
2:求每个学生的平均分
3:求每门课的平均分*/
#include <stdio.h>
void print(float scores[][5],int m,int n)//打印每个学生的成绩
{
int i,j;
for(i=0;i<m;i++)
{
printf("第%d位学生的成绩分别为:",i+1);
for(j=0;j<n;j++)
printf("%f,",scores[i][j]);
printf("\n");
}
}
void average1(float scores[][5],float *ave1,int m,int n)//求每个学生的平均分
{
float temp;
int i,j;
for(i=0;i<m;i++)
{
temp=0;
for(j=0;j<n;j++)
temp+=*(*(scores+i)+j);
*(ave1+i)=temp/n;
}
}
void average2(float scores[][5],float *ave1,int m,int n)//求每门课的平均分
{
float temp;
int i,j;
for(i=0;i<n;i++)
{
temp=0;
for(j=0;j<m;j++)
temp+=*(*(scores+j)+i);
*(ave1+i)=temp/m;
}
}
int main()
{
float scores[4][5],ave1[4],ave2[5];
int i,j;
for(i=0;i<4;i++)
for(j=0;j<5;j++)
scanf("%f",&scores[i][j]);
print(scores,i,j);
average1(scores,ave1,i,j);
average2(scores,ave2,i,j);
for(i=0;i<4;i++)
printf("第%d位同学平均成绩为:%.2f\n",i+1,ave1[i]);
for(j=0;j<5;j++)
printf("第%d门课程的平均成绩为:%.2f\n",j+1,ave2[j]);
return 0;
}
|