用C语言编写一个学生成绩管理系统①输入n个学生5门成绩的函数②计算每个学生5门的总成绩和平均成绩③计算n个学生的最高总分和最高平均分④输入一个学号,输出该学生的学号,姓名和总分⑤编写主函数集成上面四项功能
时间: 2024-03-05 17:50:40 浏览: 69
好的,下面是用C语言编写一个学生成绩管理系统的代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STUDENT_NUM 100 // 最大学生数
// 学生结构体
typedef struct {
char id[20]; // 学号
char name[20]; // 姓名
float scores[5]; // 5门成绩
float totalScore; // 总成绩
float averageScore; // 平均成绩
} Student;
// 输入n个学生5门成绩的函数
void inputScores(Student students[], int n) {
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的学号和姓名:", i + 1);
scanf("%s %s", students[i].id, students[i].name);
printf("请输入该学生的5门成绩:");
for (int j = 0; j < 5; j++) {
scanf("%f", &students[i].scores[j]);
}
}
}
// 计算每个学生5门的总成绩和平均成绩
void calculateScores(Student students[], int n) {
for (int i = 0; i < n; i++) {
float totalScore = 0;
for (int j = 0; j < 5; j++) {
totalScore += students[i].scores[j];
}
students[i].totalScore = totalScore;
students[i].averageScore = totalScore / 5;
}
}
// 计算n个学生的最高总分和最高平均分
void calculateMaxScores(Student students[], int n, float *maxTotalScore, float *maxAverageScore) {
*maxTotalScore = students[0].totalScore;
*maxAverageScore = students[0].averageScore;
for (int i = 1; i < n; i++) {
if (students[i].totalScore > *maxTotalScore) {
*maxTotalScore = students[i].totalScore;
}
if (students[i].averageScore > *maxAverageScore) {
*maxAverageScore = students[i].averageScore;
}
}
}
// 输入一个学号,输出该学生的学号,姓名和总分
void searchStudent(Student students[], int n, char *id) {
for (int i = 0; i < n; i++) {
if (strcmp(students[i].id, id) == 0) {
printf("该学生的学号为:%s,姓名为:%s,总分为:%f\n", students[i].id, students[i].name, students[i].totalScore);
return;
}
}
printf("没有找到该学生!\n");
}
int main() {
Student students[MAX_STUDENT_NUM];
int n;
printf("请输入学生数量:");
scanf("%d", &n);
inputScores(students, n);
calculateScores(students, n);
float maxTotalScore, maxAverageScore;
calculateMaxScores(students, n, &maxTotalScore, &maxAverageScore);
printf("最高总分为:%f,最高平均分为:%f\n", maxTotalScore, maxAverageScore);
char id[20];
printf("请输入要查询的学生学号:");
scanf("%s", id);
searchStudent(students, n, id);
return 0;
}
```
这个程序实现了以下功能:
① 输入n个学生5门成绩的函数
② 计算每个学生5门的总成绩和平均成绩
③ 计算n个学生的最高总分和最高平均分
④ 输入一个学号,输出该学生的学号,姓名和总分
⑤ 编写主函数集成上面四项功能
阅读全文