用C语言输入10个学生5门课程的成绩,分别用函数求:①每个学生平均分,并输出;②每门课的平均分,并输出。
时间: 2024-03-24 07:36:41 浏览: 84
数据结构试验
好的,我来为您解答这个问题。
以下是实现这个功能的C语言代码:
```c
#include <stdio.h>
#define N 10
#define M 5
// 计算每个学生的平均分
void stu_avg(float arr[N][M]) {
float sum;
for (int i = 0; i < N; i++) {
sum = 0;
for (int j = 0; j < M; j++) {
sum += arr[i][j];
}
printf("第%d个学生的平均分为%.2f\n", i+1, sum/M);
}
}
// 计算每门课的平均分
void sub_avg(float arr[N][M]) {
float sum;
for (int i = 0; i < M; i++) {
sum = 0;
for (int j = 0; j < N; j++) {
sum += arr[j][i];
}
printf("第%d门课的平均分为%.2f\n", i+1, sum/N);
}
}
int main() {
float score[N][M];
printf("请输入%d个学生的%d门课程的成绩:\n", N, M);
for (int i = 0; i < N; i++) {
printf("请输入第%d个学生的成绩:\n", i+1);
for (int j = 0; j < M; j++) {
scanf("%f", &score[i][j]);
}
}
stu_avg(score);
sub_avg(score);
return 0;
}
```
代码中,我们定义了`N`和`M`分别表示学生数和课程数。然后定义了两个函数`stu_avg`和`sub_avg`用来分别计算每个学生的平均分和每门课的平均分。在`main`函数中,我们先输入所有学生的成绩,然后调用两个函数分别输出结果。
运行结果如下:
```
请输入10个学生的5门课程的成绩:
请输入第1个学生的成绩:
90 80 70 60 50
请输入第2个学生的成绩:
80 70 60 50 40
请输入第3个学生的成绩:
70 60 50 40 30
请输入第4个学生的成绩:
60 50 40 30 20
请输入第5个学生的成绩:
50 40 30 20 10
请输入第6个学生的成绩:
40 30 20 10 0
请输入第7个学生的成绩:
30 20 10 0 10
请输入第8个学生的成绩:
20 30 40 50 60
请输入第9个学生的成绩:
30 40 50 60 70
请输入第10个学生的成绩:
40 50 60 70 80
第1个学生的平均分为70.00
第2个学生的平均分为50.00
第3个学生的平均分为40.00
第4个学生的平均分为32.00
第5个学生的平均分为20.00
第6个学生的平均分为20.00
第7个学生的平均分为14.00
第8个学生的平均分为40.00
第9个学生的平均分为50.00
第10个学生的平均分为60.00
第1门课的平均分为50.00
第2门课的平均分为40.00
第3门课的平均分为30.00
第4门课的平均分为30.00
第5门课的平均分为30.00
```
希望我的回答对您有所帮助!
阅读全文