输入10个学生5门课的成绩,分别用函数实现以下功能:1.计算每个学生平均分;2.计算每门课的平均分;3.找出所有50个分数中最高的得分所对应的学生和课程;4,计算平均分方差
#include <stdio.h>
#include <stdlib.h>
void student_avg(double a[][5])
{
printf("每个学生的平均分为:");
//double avg[10];
for (int i = 0; i < 10; i++)
{
double sum = 0;
for (int j = 0; j < 5; j++)
{
sum += a[i][j];
}
//avg[i] = sum / 5;
printf("%lf\n", sum/5);
}
}
void course_avg(double a[][5])
{
printf("每门课程的平均分为:");
for (int i = 0; i < 5; i++)
{
double sum = 0;
for (int j = 0; j < 10; j++)
{
sum += a[j][i]
}
printf("%lf\n", sum / 10);
}
}
void my_max(double a[][5])
{
printf("分数最高者和课程为\n");
int i, j;
double max = a[0][0];
for ( i = 0; i < 10; i++)
{
for ( j = 0; j < 5; j++)
{
if (max < a[i][j])
{
max = a[i][j];
}
}
}
printf("最高分对应的学生为:%d,对应的课程为 %d", i, j);
}
//计算方差
void fangcha(double a[][5])
{
double sum = 0;
double dousum = 0;
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 5; j++)
{
sum += a[i][j];
dousum += (a[i][j] * a[i][j]);
}
}
double ret = dousum / 10 - (sum / 10)*(sum / 10);
printf("平均分方差为%lf", ret);
}
int main()
{
double ch[10][5];
for (int i = 0; i < 10; i++)
{
for (int j = 5; j < 5; j++)
{
scanf("%lf", &ch[i][j]);
}
}
student_avg(ch);
course_avg(ch);
my_max(ch);
fangcha(ch);
system("pause");
return 0;
}
答案
输入10个学生5门课的成绩,分别用函数实现以下功能:1.计算每个学生平均分;2.计算每门课的平均分;3.找出所有50个分数中最高的得分所对应的学生和课程;4,计算平均分方差