用顺序表实现学生信息的管理,包括学生信息的存取、插入、删除、查找等操作,学生信息包括:学号、姓名、成绩。
时间: 2023-10-19 21:08:10 浏览: 610
1_lower7y7_定义一个包含学生信息(学号_成绩)的顺序表和链表(二选一)_姓名_使其具有如下功能_
5星 · 资源好评率100%
以下是使用顺序表实现学生信息管理的示例代码:
```
#include <stdio.h>
#include <string.h>
#define MAX_STUDENT_NUM 100 // 最多可以存储的学生数
typedef struct {
int id; // 学号
char name[20]; // 姓名
float score; // 成绩
} Student;
typedef struct {
Student students[MAX_STUDENT_NUM]; // 存储学生信息的数组
int length; // 当前存储的学生数
} StudentList;
// 初始化学生列表
void initStudentList(StudentList *list) {
list->length = 0;
}
// 添加学生信息
void addStudent(StudentList *list, Student student) {
if (list->length >= MAX_STUDENT_NUM) {
printf("Error: Student list is full.\n");
return;
}
list->students[list->length] = student;
list->length++;
}
// 根据学号查找学生信息
int findStudentById(StudentList *list, int id) {
int i;
for (i = 0; i < list->length; i++) {
if (list->students[i].id == id) {
return i;
}
}
return -1; // 没有找到
}
// 根据学号删除学生信息
void deleteStudentById(StudentList *list, int id) {
int index = findStudentById(list, id);
if (index == -1) {
printf("Error: Student not found.\n");
return;
}
int i;
for (i = index; i < list->length - 1; i++) {
list->students[i] = list->students[i+1];
}
list->length--;
}
// 修改学生信息
void updateStudent(StudentList *list, int id, char *name, float score) {
int index = findStudentById(list, id);
if (index == -1) {
printf("Error: Student not found.\n");
return;
}
strcpy(list->students[index].name, name);
list->students[index].score = score;
}
// 显示学生列表
void showStudentList(StudentList *list) {
int i;
printf("ID\tName\tScore\n");
for (i = 0; i < list->length; i++) {
printf("%d\t%s\t%.1f\n", list->students[i].id, list->students[i].name, list->students[i].score);
}
}
int main() {
StudentList list;
initStudentList(&list);
// 添加学生信息
Student s1 = {1, "张三", 80.5};
addStudent(&list, s1);
Student s2 = {2, "李四", 90.0};
addStudent(&list, s2);
Student s3 = {3, "王五", 70.0};
addStudent(&list, s3);
// 显示学生列表
showStudentList(&list);
// 修改学生信息
updateStudent(&list, 2, "赵六", 85.5);
// 删除学生信息
deleteStudentById(&list, 1);
// 显示学生列表
showStudentList(&list);
return 0;
}
```
阅读全文