要存放3个同学4门功课的成绩以及其平均成绩,要求使用二维数组存放。计算出每个同学课程的平均分输出,计算第1门课程的平均分输出用c语言来实现标注好注释。
时间: 2024-03-15 18:47:40 浏览: 50
C语言课程设计——学生成绩管理系统
好的,以下是代码实现:
```c
#include <stdio.h>
int main() {
float scores[3][4]; // 定义二维数组存放成绩
float avg[3] = {0}; // 定义一维数组存放平均分并初始化为0
// 循环输入每个同学的4门功课成绩
for (int i = 0; i < 3; i++) {
printf("请输入第%d个同学的4门功课成绩:\n", i+1);
for (int j = 0; j < 4; j++) {
scanf("%f", &scores[i][j]);
avg[i] += scores[i][j]; // 累加每个同学的成绩
}
}
// 计算每个同学的平均分
for (int i = 0; i < 3; i++) {
avg[i] /= 4.0;
}
// 输出每个同学的平均分
for (int i = 0; i < 3; i++) {
printf("第%d个同学的平均分为:%.2f\n", i+1, avg[i]);
}
// 计算第一门课程的平均分
float avg1 = 0;
for (int i = 0; i < 3; i++) {
avg1 += scores[i][0]; // 累加每个同学的第一门课程成绩
}
avg1 /= 3.0; // 计算平均分
printf("第一门课程的平均分为:%.2f\n", avg1);
return 0;
}
```
解释一下代码:
首先定义了一个二维数组 `scores` 存放每个同学的4门功课成绩,以及一个一维数组 `avg` 存放每个同学的平均分。
然后使用两层循环依次输入每个同学的4门功课成绩,并在输入的同时累加每个同学的成绩。
接着再使用一层循环计算每个同学的平均分,并输出每个同学的平均分。
最后再一次循环计算第一门课程的平均分,并输出结果。
注意,平均分需要使用浮点数类型来存储,这里使用了 `%f` 格式化输出。同时,注意格式化输出时保留小数点后两位,可以使用 `%.2f` 格式化输出。
阅读全文