用C语言编写一个程序,满足输入10个学生5门课的成绩,分别用函数求: (1)每个学生的平均分; (2)每门课的平均分;(3)找出平均分最高的学生。
时间: 2023-12-10 19:42:20 浏览: 72
以下是用C语言编写的程序,实现输入10个学生5门课的成绩,分别用函数求: (1)每个学生的平均分; (2)每门课的平均分;(3)找出平均分最高的学生。
```c
#include<stdio.h>
// 计算每个学生的平均分
void avg_stu(float score[][5], float avg[])
{
for(int i=0; i<10; i++)
{
float sum = 0;
for(int j=0; j<5; j++)
{
sum += score[i][j];
}
avg[i] = sum / 5;
}
}
// 计算每门课的平均分
void avg_course(float score[][5], float avg[])
{
for(int i=0; i<5; i++)
{
float sum = 0;
for(int j=0; j<10; j++)
{
sum += score[j][i];
}
avg[i] = sum / 10;
}
}
// 找出平均分最高的学生
void max_avg(float score[][5], float avg[], int *max_index)
{
float max = 0;
for(int i=0; i<10; i++)
{
if(avg[i] > max)
{
max = avg[i];
*max_index = i;
}
}
}
int main()
{
float score[10][5]; // 学生成绩
float avg_stu[10]; // 学生平均分
float avg_course[5]; // 课程平均分
int max_index; // 平均分最高的学生的下标
// 输入学生成绩
for(int i=0; i<10; i++)
{
printf("请输入第%d个学生的成绩:\n", i+1);
for(int j=0; j<5; j++)
{
scanf("%f", &score[i][j]);
}
}
// 计算每个学生的平均分
avg_stu(score, avg_stu);
// 输出每个学生的平均分
printf("每个学生的平均分:\n");
for(int i=0; i<10; i++)
{
printf("第%d个学生的平均分为:%.2f\n", i+1, avg_stu[i]);
}
// 计算每门课的平均分
avg_course(score, avg_course);
// 输出每门课的平均分
printf("每门课的平均分:\n");
for(int i=0; i<5; i++)
{
printf("第%d门课的平均分为:%.2f\n", i+1, avg_course[i]);
}
// 找出平均分最高的学生
max_avg(score, avg_stu, &max_index);
// 输出平均分最高的学生的成绩和平均分
printf("平均分最高的学生为第%d个学生,其成绩为:", max_index+1);
for(int i=0; i<5; i++)
{
printf("%.2f ", score[max_index][i]);
}
printf(",平均分为:%.2f\n", avg_stu[max_index]);
return 0;
}
```
阅读全文