用C语言写一个学生成绩管理系统,输入1时录入十个人的成绩输入,2时计算平均数,输入3时计算最高分
时间: 2024-11-20 07:42:03 浏览: 21
用c语言编写学生成绩管理系统.doc
5星 · 资源好评率100%
在C语言中,我们可以创建一个简单的命令行学生成绩管理系统。这个系统会包含三个功能:成绩录入、平均分数计算以及最高分查找。以下是基本的代码结构:
```c
#include <stdio.h>
#include <stdlib.h> // 包含用于处理整型数组的最大值的函数
#define MAX_STUDENTS 10
// 结构体表示学生信息
typedef struct {
int id;
float score;
} Student;
// 功能函数声明
void input_scores(Student scores[], int *num_students);
float calculate_average(const Student scores[], int num_students);
float find_max_score(const Student scores[], int num_students);
int main() {
Student scores[MAX_STUDENTS];
int num_students = 0, choice;
while (1) {
printf("\n请选择操作:\n");
printf("1. 录入成绩\n");
printf("2. 计算平均分\n");
printf("3. 查找最高分\n");
printf("4. 退出\n");
scanf("%d", &choice);
switch (choice) {
case 1:
if (num_students < MAX_STUDENTS) {
printf("请输入学生的ID和成绩,以空格隔开:\n");
for (int i = 0; i < MAX_STUDENTS && num_students < MAX_STUDENTS; ++i) {
scanf("%d%f", &scores[num_students].id, &scores[num_students].score);
num_students++;
}
} else {
printf("已满员,无法再录入。\n");
}
break;
case 2:
if (num_students > 0) {
float average = calculate_average(scores, num_students);
printf("平均分: %.2f\n", average);
} else {
printf("还没有成绩记录。\n");
}
break;
case 3:
if (num_students > 0) {
float max_score = find_max_score(scores, num_students);
printf("最高分: %.2f\n", max_score);
} else {
printf("还没有成绩记录。\n");
}
break;
case 4:
printf("程序结束。\n");
return 0;
default:
printf("无效选择,请重新输入。\n");
}
}
return 0;
}
// 辅助函数实现
void input_scores(...) {...}
float calculate_average(...) {...}
float find_max_score(...) {...}
```
注意,这里省略了辅助函数`input_scores`, `calculate_average`, 和 `find_max_score` 的具体实现,因为它们分别涉及到输入验证、分数累加和遍历数组找到最大值等细节。
阅读全文