1. 计算每个学生的平均分;
2. 计算每门课的平均分;
3. 找出所有50个分数中最高的分数所对应的学生和课程;
#include <stdio.h>
#include <math.h>
int main(void)
{
void f1(int a1[10][5]);
void f2(int a2[10][5]);
void f3(int a3[10][5]);
double f4(int a4[10][5]);
int score[10][5];
printf("输入10个学生5门课的成绩\n");
for(int i=0;i<10;i++)
{
printf("\n请输入学生%d的成绩:\n",i+1); //学生号从1开始
for(int j=0;j<5;j++)
scanf("%d",&score[i][j]);
}
f1(score);
f2(score);
f3(score);
printf("平均分方差为%lf\n",f4(score));
return 0;
}
//函数1.计算每个学生的平均分
void f1(int a1[10][5])
{
for(int i=0;i<10;i++)
{
double sum=0.0;
for(int j=0;j<5;j++)
{
sum=sum+a1[i][j];
// return sum/5;
}
printf("学生%d的平均成绩为%lf\n",i+1,sum/5);
}
}
//函数2.计算每门课的平均分
void f2(int a2[10][5])
{
for(int j=0;j<5;j++)
{
double sum=0.0;
for(int i=0;i<10;i++)
{
sum=sum+a2[i][j];
}
printf("第%d门的平均成绩为%lf\n",j+1,sum/10);
}
}
//函数3.找出所有的50个分数中最高分数所对应的学生和课程
void f3(int a3[10][5])
{
int max=a3[0][0];
int m,n;
for(int i=0;i<10;i++)
{
for(int j=0;j<5;j++)
{
if(a3[i][j]>max)
{
max=a3[i][j];
m=i;
n=j;
}
}
}
printf("最高分为%d,所对应的学生是学生%d,课程是第%d门课程\n",max,m+1,n+1); //下标从0开始 因此学生序号和课程序号都应加1
}
//函数4.计算平均分方差
double f4(int a4[10][5])
{
double r;
double sum1=0.0,sum2=0.0;
for(int i=0;i<10;i++)
{
double sum=0.0;
for(int j=0;j<5;j++)
{
sum=sum+a4[i][j];
}
sum1=sum1+(sum/5)*(sum/5);
}
for(i=0;i<10;i++)
{
double sum=0.0;
for(int j=0;j<5;j++)
{
sum=sum+a4[i][j];
}
sum2=sum2+(sum/5);
}
r=sum1/10-(sum2/10)*(sum2/10);
return r;
}