输入三个学生数据,要求输出三门课程总平均成绩,以及最高分的学生数据(包括学号,姓名,课程平均成绩,平均分数)C语言
时间: 2024-09-20 08:05:16 浏览: 112
C++面向对象程序设计教程课程设计-学生信息/成绩管理系统-代码部分
在C语言中,为了实现这个功能,你需要先定义结构体来存储学生信息(如学号、姓名)和每门课程的成绩,然后编写一个函数来计算总平均成绩和找出最高分的学生。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 定义学生结构体
typedef struct {
int student_id;
char name[50];
float course1_score, course2_score, course3_score;
} Student;
// 计算总平均成绩并找到最高分学生的函数
void calculate_average(Student students[], int num_students) {
float total_avg = 0;
float max_avg = students[0].course1_score + students[0].course2_score + students[0].course3_score;
int max_student_index = 0;
for (int i = 0; i < num_students; i++) {
total_avg += students[i].course1_score + students[i].course2_score + students[i].course3_score;
if (students[i].course1_score + students[i].course2_score + students[i].course3_score > max_avg) {
max_avg = students[i].course1_score + students[i].course2_score + students[i].course3_score;
max_student_index = i;
}
}
// 输出总平均成绩和最高分学生信息
printf("三门课程总平均成绩: %.2f\n", total_avg / 3);
printf("最高分学生数据:\n");
printf("学号: %d\n", students[max_student_index].student_id);
printf("姓名: %s\n", students[max_student_index].name);
printf("课程平均成绩: %.2f\n", max_avg);
}
int main() {
// 示例学生数组,替换为你实际的数据
Student students[] = {
{1, "小明", 85, 90, 92},
{2, "小红", 90, 88, 95},
{3, "小刚", 92, 93, 94}
};
int num_students = sizeof(students) / sizeof(students[0]);
calculate_average(students, num_students);
return 0;
}
```
阅读全文