c语言编写程序使用函数和结构体,输入5名同学的基本信息(学号、姓名、性别、院系、成绩1,成绩2),判断输出总分最高的同学的信息
时间: 2023-12-22 20:44:50 浏览: 65
C语言输入学生成绩,计算并输出这些学生的最低分、最高分、平均分。
以下是使用函数和结构体实现该程序的示例代码:
```c
#include <stdio.h>
// 定义学生信息结构体
struct Student {
int id; // 学号
char name[20]; // 姓名
char gender; // 性别
char dept[20]; // 院系
double grade1; // 成绩1
double grade2; // 成绩2
};
// 计算学生总分的函数
double calculateTotalGrade(struct Student s) {
return s.grade1 + s.grade2;
}
int main() {
struct Student students[5]; // 存放5名学生信息的数组
// 输入5名学生的信息
for (int i = 0; i < 5; i++) {
printf("请输入第%d名学生的信息:\n", i + 1);
printf("学号:");
scanf("%d", &students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("性别:");
scanf(" %c", &students[i].gender);
printf("院系:");
scanf("%s", students[i].dept);
printf("成绩1:");
scanf("%lf", &students[i].grade1);
printf("成绩2:");
scanf("%lf", &students[i].grade2);
printf("\n");
}
// 找出总分最高的学生
int maxIndex = 0;
for (int i = 1; i < 5; i++) {
if (calculateTotalGrade(students[i]) > calculateTotalGrade(students[maxIndex])) {
maxIndex = i;
}
}
// 输出总分最高的学生的信息
printf("总分最高的学生是:%s\n", students[maxIndex].name);
printf("学号:%d\n", students[maxIndex].id);
printf("性别:%c\n", students[maxIndex].gender);
printf("院系:%s\n", students[maxIndex].dept);
printf("成绩1:%lf\n", students[maxIndex].grade1);
printf("成绩2:%lf\n", students[maxIndex].grade2);
return 0;
}
```
运行程序后,依次输入5名同学的基本信息和成绩,程序会自动计算出总分最高的学生并输出其信息。
阅读全文