C语言 编写程序:输入6名学生5门课程的成绩,分别统计出每个学生5门课程的平均成绩。
编写C语言程序来实现输入6名学生5门课程的成绩,并计算每个学生的平均成绩的过程如下:
c#include <stdio.h>
#define NUM_STUDENTS 6
#define NUM_COURSES 5
int main() {
int grades[NUM_STUDENTS][NUM_COURSES]; // 二维数组存储学生的成绩
float averages[NUM_STUDENTS]; // 存储每个学生的平均成绩
// 输入成绩
printf("Enter grades for %d students and %d courses:\n", NUM_STUDENTS, NUM_COURSES);
for (int i = 0; i < NUM_STUDENTS; ++i) {
printf("Student %d:\n", i + 1);
for (int j = 0; j < NUM_COURSES; ++j) {
printf("Enter grade for course %d: ", j + 1);
scanf("%d", &grades[i][j]);
}
}
// 计算每个学生的平均成绩
for (int i = 0; i < NUM_STUDENTS; ++i) {
int sum = 0;
for (int j = 0; j < NUM_COURSES; ++j) {
sum += grades[i][j];
}
averages[i] = (float)sum / NUM_COURSES;
}
// 输出每个学生的平均成绩
printf("\nAverage grades:\n");
for (int i = 0; i < NUM_STUDENTS; ++i) {
printf("Student %d: %.2f\n", i + 1, averages[i]);
}
return 0;
}
详细说明:
定义常量和数组:
- 使用
#define
定义了学生数量NUM_STUDENTS
和课程数量NUM_COURSES
。 grades
是一个二维整型数组,用于存储每个学生的各门课程成绩。averages
是一个一维浮点型数组,用于存储每个学生的平均成绩。
- 使用
输入成绩:
- 使用嵌套循环分别输入每个学生的各门课程成绩,外层循环迭代每个学生,内层循环迭代每门课程。
计算平均成绩:
- 使用嵌套循环计算每个学生的所有课程成绩的总和,并将总和除以课程数量得到平均成绩。
- 将计算结果存入
averages
数组中。
输出结果:
- 最后使用循环遍历
averages
数组,输出每个学生的平均成绩。
- 最后使用循环遍历
注意事项:
- 输入时需按照学生和课程的顺序依次输入成绩。
- 输出时使用
%.2f
控制输出精度为两位小数。
以上程序通过简单的循环和数组操作实现了输入学生成绩、计算平均成绩并输出的功能。