***题目:***输入10个学生5门课的成绩,分别用函数实现下列功能:
①计算每个学生的平均分;
②计算每门课的平均分;
③找出所有50个分数中最高的分数所对应的学生和课程;
④计算平均分方差;
/*最近学习了选择排序,插入排序,递归等方法。所以我们做一道题时可以用多种方法去写。
今天这道题我用的是一种暴力求解,简单来说就是对算法不怎么搭边。
思路:
这一题他需要我们求4种结果,学生平均分、课程平均分、最高分、方差。所以我们可以分为5个函数,主函数,然后4个结果的调用函数,定义一个二维数组通过for循环将50个元素输入到数组中,然后调用4个函数进行求解。
1.求学生平均分……我们可以加数组作为实参进入个个函数中, 学生平均分通过嵌套for循环将每个学生的平均成绩输出输出10次,10个人的输出。
2.课程平均分——课程平均分就是二维数组的每门课程为一维学生
为二维通过取10个学生的平均数来求出课程平均数的分数。
3.第3个要求是求最高分,同样的方法来利用循环排序,通过循环来比较50个数,每次比较出较大值用字符标记该 地址代表课程,学生 和最高分。
4.平均方差——简化代码需要利用math里面的pow函数,然后通过将每位学生的平均分计算出,将这10个平均数输入到一个temp的数组中,利用所学习的知识将方差公式表示出来,最后输出。
上代码:
#include <stdio.h>
#include <math.h>
void aver_stu(int t[][5]); //定义学生平均分函数
void aver_course(int t[][5]); //定义课程平均分函数
void high(int t[][5]); //定义最高分函数
void vari(int t[][5]); //定义方差函数
int main() {
int stu[10][5];
int i, j;
printf("请你依次输入该10个学生的成绩:");
for