酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

C语言实现:学生信息顺序存储、查询、插入与平均分计算全流程

这是一个简单的C语言程序,用于实现你的需求。这个程序使用了一个结构体数组来表示顺序存储结构,并实现了查询、插入和计算平均分的功能。 ```c #include <stdio.h> #include <stdlib.h> #define MAX_SIZE 100 typedef struct { int id; char name[20]; int score; } Student; // 初始化顺序表 void initStudent(Student students[], int n) { students[0] = (Student){1, "王令", 98}; students[1] = (Student){3, "张成", 67}; students[2] = (Student){5, "陈晨", 74}; } // 查询学生信息 void queryStudent(Student students[], int n, int id) { for(int i = 0; i < n; i++) { if(students[i].id == id) { printf("学号: %d, 姓名: %s, 分数: %d\n", students[i].id, students[i].name, students[i].score); return; } } printf("未找到该学生信息\n"); } // 插入学生信息 void insertStudent(Student students[], int *n, int id, char name[], int score, int position) { if(*n >= MAX_SIZE) { printf("顺序表已满,无法插入\n"); return; } for(int i = *n; i > position - 1; i--) { students[i] = students[i - 1]; } students[position - 1] = (Student){id, name, score}; (*n)++; } // 计算平均分 float calculateAverage(Student students[], int n) { int totalScore = 0; for(int i = 0; i < n; i++) { totalScore += students[i].score; } return (float)totalScore / n; } int main() { Student students[MAX_SIZE]; int n = 3; initStudent(students, n); queryStudent(students, n, 5); insertStudent(students, &n, 8, "李时", 89, 2); printf("\n插入后:\n"); for(int i = 0; i < n; i++) { printf("学号: %d, 姓名: %s, 分数: %d\n", students[i].id, students[i].name, students[i].score); } float avg = calculateAverage(students, n); printf("\n平均分: %.2f\n", avg); return 0; } ``` 这个程序首先定义了一个`Student`结构体来存储学生信息,然后初始化了一个顺序表,接着实现了查询、插入和计算平均分的函数。在主函数中,我们调用这些函数来完成任务。注意,这个程序假设顺序表的起始索引是1,而不是0。 ######[AI写代码神器 | 642点数解答 | 2024-07-20 20:27:40]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]