说实话,问题比较多,需要写的代码也多.我给你写出前两个问题的函数吧.下面几个希望你看过我写的思考一下,然后自己写.这样才会学到东西嘛.//由于没有给出成绩的储存方式, 这里假设为一个二维数组//int Score[10][5];这可以是int型或者float类型.为了简单我这里用int型//现在假设成绩已经格式化输入好了. 而且这是一个全局变量.//计算某位学生的平均分 参数为需要求的学生float GetAverageFromSomeone(int index){ int i; int total = 0; //总分 for (i = 0; i < 5; i++) { total += Score[index][i]; } return (float)total / 5.0f;}//计算某个课程平均分float GetAverageFromSomeClass(int index){ int i; int total = 0; //总分 for (i = 0; i < 10; i++) { total += Score[i][index]; } return (float)total / 10.0f;}//找出所有50个分数中最高的分数所对应的学生和课程void GetStuClaByTopscore(int& student, int& class){ int i, index; int max = 0; //最高分 int* pointer = Score[0]; for (i = 0; i < 50; i++) { if (max < *pointer) { max = *pinter; index = i; //记住最高分的位置 } pointer++; } //返回最高分的课程和学生 student = index / 5; class = index % 5;}