/*输入10个学生5门课的成绩, 分别用函数实现以下功能1.计算每个学生的平均分2.计算每门课的平均分
3.找出所有50个分数最高的分数所对应的学生和课程4.计算平均方差*/
#include <stdio.h>
#include <math.h>
#define N 10
#define M 5
//计算每个学生的平均分
int fun1(int a[N][M])
{
int i,j;
float sum = 0.0;
for(i = 0;i < N;i++)
{
sum = 0.0;
for(j = 0;j < M;j++)
{
sum = sum + a[i][j];
}
printf("第%d个学生的平均分是:%2f\n",i+1,sum/5);
}
}
//计算每门课的平均分
int fun2(int a[N][M])
{
int i,j;
float sum;
for(i = 0;i < M;i++)
{
sum = 0.0;
for(j = 0;j < N;j++)
{
sum += a[j][i];
}
printf("第%d门课的平均分是:%2f\n",i+1,sum/N);
}
}
//找出所有50个分数最高的分数所对应的学生和课程
int fun3(int a[N][M])
{
int i,j,k,l;
float max;
max = a[0][0];
k = 0;//最大值的横坐标
l = 0;//最大值的纵坐标
for(i = 0;i < N;i++)
{
for(j = 0;j < M;j++)
{
if(a[i][j] > max)
{
max = a[i][j];
k = i;
l = j;
}
}
}
printf("最高的分数的学生是学生%d和第%d课程\n",k+1,l+1);
}
//计算平均方差
int fun4(int a[N][M])
{
int i,j;
float sum,sum1,sum2,fj;
sum = sum1 = sum2 = 0.0;
for(i = 0;i < N;i++)
{
sum = 0.0;
for(j = 0;j < M;j++)
{
sum = sum + a[i][j];
}
sum1 = sum1 + pow(sum / 5,2);
sum2 = sum2 + sum / 5;
}
fj = sum1 / N - pow(sum2 / N,2);
printf("方差是:%2f",fj);
}
int main()
{
int a[N][M];
int i,j;
printf("请输入成绩:\n");
for(i = 0;i < N;i++)
{
for(j = 0;j < M;j++)
{
scanf("%d",&a[i][j]);
}
}
fun1(a);
fun2(a);
fun3(a);
fun4(a);
}