#include<stdio.h>
#include<math.h>
float b[10];
//输入10个学生的5门课的成绩,分别用函数实现以下功能
void averageS(int a[][5])
{
int sum,i,j;
// float b[10];
for(i=0;i<10;i++)
{
sum=0;
for(j=0;j<5;j++)
{
sum+=a[i][j];
}
b[i]=sum/5.0;
}
for(i=0;i<10;i++)
printf("第%d的学生的平均分是%.3f:\n",i+1,b[i]);
}
void averageC(int a[10][5])//计算每门课的平均分
{
int sum,i,j,k=0;
float b[5];
for(j=0;j<5;j++)
{
sum=0;
for(i=0;i<10;i++)
{
sum+=a[i][j];
}
b[k++]=sum/5.0;
}
for(i=0;i<5;i++)
printf("第%d门课的平均分是%.3f:\n",i+1,b[i]);
}
void max(int a[10][5])//找出分数最高的学生和课程
{
int i,j,m=a[0][0],x,y;
for(i=0;i<10;i++)
{
for(j=0;j<5;j++)
{
if(a[i][j]>m)
{
m=a[i][j];
x=i;
y=j;
}
}
}
printf("最高分是%d:\n是第%d位同学\n第%d门课\n",m,i+1,j+1);
}
void averageF()
{
int i;
float t;
int sum1=0,sum2=0;
for(i=0;i<10;i++)
{
sum1+=pow(b[i],2);
sum2+=b[i];
}
t=sum1/10.0-pow((sum2/10.0),2);
printf("输出方差是%.4f:\n",t);
}
int main()
{
//定义一个二维数组
int a[10][5]={{60,78,89,80,59},{37,68,79,57,80},{90,89,90,89,79},{78,89,90,69,50},{60,70,80,60,60},{80,60,96,60,70},{79,50,49,50,70},{78,60,60,50,60},{65,70,60,59,60},{60,80,70,70,80}};
int i,j;
averageS(a);
averageC(a);
max(a);
averageF();
return 0;
}
![](https://i-blog.csdnimg.cn/blog_migrate/92a1fad9d6cb4fd32fae8cd930ae7d88.png)