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; }

详细说明:

  1. 定义常量和数组

    • 使用 #define 定义了学生数量 NUM_STUDENTS 和课程数量 NUM_COURSES
    • grades 是一个二维整型数组,用于存储每个学生的各门课程成绩。
    • averages 是一个一维浮点型数组,用于存储每个学生的平均成绩。
  2. 输入成绩

    • 使用嵌套循环分别输入每个学生的各门课程成绩,外层循环迭代每个学生,内层循环迭代每门课程。
  3. 计算平均成绩

    • 使用嵌套循环计算每个学生的所有课程成绩的总和,并将总和除以课程数量得到平均成绩。
    • 将计算结果存入 averages 数组中。
  4. 输出结果

    • 最后使用循环遍历 averages 数组,输出每个学生的平均成绩。

注意事项:

  • 输入时需按照学生和课程的顺序依次输入成绩。
  • 输出时使用 %.2f 控制输出精度为两位小数。

以上程序通过简单的循环和数组操作实现了输入学生成绩、计算平均成绩并输出的功能。