C语言学生成绩管理:计算平均分和最高分学生
下面是一个用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门课的成绩。
代码解释:
- 结构体定义:
struct Student { ... }定义了一个名为Student的结构体,包含学生学号id、姓名name以及三门课程成绩chinese、math、english。 - 数组定义:
struct Student students[6];定义了一个名为students的数组,包含 6 个Student结构体,用来存储6个学生的信息。 - 输入学生数据:
使用
for循环,从键盘输入每个学生的学号、姓名和三门课程成绩,并存储到students数组中。 - 计算总平均成绩:
使用
for循环,分别计算三门课程的总成绩,再除以6得到平均成绩。 - 找出最高分学生:
使用
for循环,遍历每个学生的总成绩,并比较找出最高分学生,最后输出其信息。
总结:
该程序展示了C语言中结构体和数组的使用方法,以及如何使用循环进行数据处理。通过这个例子,可以帮助初学者理解C语言编程的基本概念,并掌握使用结构体和数组处理数据的方法。
原文地址: https://www.cveoy.top/t/topic/qBZ0 著作权归作者所有。请勿转载和采集!