下面是一个用C语言实现学生成绩管理的例子,该程序可以输入6个学生的学号、姓名和3门课程的成绩,并计算3门课程的总平均成绩和找出最高分学生。

#include <stdio.h>

struct Student {
    int id;
    char name[20];
    float chinese;
    float math;
    float english;
};

int main() {
    struct Student students[6];
    int i;
    
    // 输入学生数据
    printf('请输入学生数据:\n');
    for (i = 0; i < 6; i++) {
        printf('请输入第%d个学生的学号:', i + 1);
        scanf('%d', &(students[i].id));
        printf('请输入第%d个学生的姓名:', i + 1);
        scanf('%s', &(students[i].name));
        printf('请输入第%d个学生的语文成绩:', i + 1);
        scanf('%f', &(students[i].chinese));
        printf('请输入第%d个学生的数学成绩:', i + 1);
        scanf('%f', &(students[i].math));
        printf('请输入第%d个学生的英语成绩:', i + 1);
        scanf('%f', &(students[i].english));
    }
    
    // 计算总平均成绩
    float totalChinese = 0, totalMath = 0, totalEnglish = 0;
    for (i = 0; i < 6; i++) {
        totalChinese += students[i].chinese;
        totalMath += students[i].math;
        totalEnglish += students[i].english;
    }
    float avgChinese = totalChinese / 6;
    float avgMath = totalMath / 6;
    float avgEnglish = totalEnglish / 6;
    printf('语文总平均成绩:%.2f\n', avgChinese);
    printf('数学总平均成绩:%.2f\n', avgMath);
    printf('英语总平均成绩:%.2f\n', avgEnglish);
    
    // 找出最高分学生
    float highestScore = 0;
    int highestIndex = 0;
    for (i = 0; i < 6; i++) {
        float totalScore = students[i].chinese + students[i].math + students[i].english;
        if (totalScore > highestScore) {
            highestScore = totalScore;
            highestIndex = i;
        }
    }
    printf('最高分学生的学号:%d\n', students[highestIndex].id);
    printf('最高分学生的姓名:%s\n', students[highestIndex].name);
    printf('最高分学生的语文成绩:%.2f\n', students[highestIndex].chinese);
    printf('最高分学生的数学成绩:%.2f\n', students[highestIndex].math);
    printf('最高分学生的英语成绩:%.2f\n', students[highestIndex].english);
    
    return 0;
}

这个程序首先定义了一个名为Student的结构体,表示学生的数据。然后定义了一个包含6个Student结构体的数组。接下来,使用循环从键盘输入6个学生的数据,并计算3门课的总平均成绩。最后,找出最高分的学生,并输出该学生的学号、姓名和3门课的成绩。

代码解释:

  1. 结构体定义: struct Student { ... } 定义了一个名为 Student 的结构体,包含学生学号 id、姓名 name 以及三门课程成绩 chinese、math、english。
  2. 数组定义: struct Student students[6]; 定义了一个名为 students 的数组,包含 6 个 Student 结构体,用来存储6个学生的信息。
  3. 输入学生数据: 使用 for 循环,从键盘输入每个学生的学号、姓名和三门课程成绩,并存储到 students 数组中。
  4. 计算总平均成绩: 使用 for 循环,分别计算三门课程的总成绩,再除以6得到平均成绩。
  5. 找出最高分学生: 使用 for 循环,遍历每个学生的总成绩,并比较找出最高分学生,最后输出其信息。

总结:

该程序展示了C语言中结构体和数组的使用方法,以及如何使用循环进行数据处理。通过这个例子,可以帮助初学者理解C语言编程的基本概念,并掌握使用结构体和数组处理数据的方法。


原文地址: https://www.cveoy.top/t/topic/qBZ0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录