c语言数据结构大作业
时间: 2023-12-20 07:06:12 浏览: 82
数据结构大作业—贪吃蛇游戏
根据提供的引用内容,可以看出C语言数据结构大作业需要完成以下任务:
1. 定义结构体studentInformation,用来存储学生的信息,包括学生的名字、班级、学号、学生的数据库成绩、高数成绩、C语言成绩、学生总分。
2. 构造一个空表,定义顺序表的存储结构和实现。
3. 实现对学生信息的增删改查等操作。
下面是一个简单的C语言数据结构大作业的例子,仅供参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 100
typedef struct studentInformation {
char student_name[20];
char student_class[10];
int student_number;
float student_mysql;
float student_math;
float student_C;
float sum_grade;
} information;
typedef struct studentList {
information data[MAX_SIZE];
int length;
} list;
void initList(list *L) {
L->length = 0;
}
int insertList(list *L, int i, information e) {
if (i < 1 || i > L->length + 1) {
return 0;
}
if (L->length >= MAX_SIZE) {
return 0;
}
for (int j = L->length; j >= i; j--) {
L->data[j] = L->data[j - 1];
}
L->data[i - 1] = e;
L->length++;
return 1;
}
int deleteList(list *L, int i) {
if (i < 1 || i > L->length) {
return 0;
}
for (int j = i; j < L->length; j++) {
L->data[j - 1] = L->data[j];
}
L->length--;
return 1;
}
int searchList(list L, char *name) {
for (int i = 0; i < L.length; i++) {
if (strcmp(L.data[i].student_name, name) == 0) {
return i + 1;
}
}
return 0;
}
void displayList(list L) {
printf("Name\tClass\tNumber\tMySQL\tMath\tC\tSum\n");
for (int i = 0; i < L.length; i++) {
printf("%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\n", L.data[i].student_name, L.data[i].student_class, L.data[i].student_number, L.data[i].student_mysql, L.data[i].student_math, L.data[i].student_C, L.data[i].sum_grade);
}
}
int main() {
list L;
initList(&L);
information e;
strcpy(e.student_name, "Tom");
strcpy(e.student_class, "Class 1");
e.student_number = 1001;
e.student_mysql = 90;
e.student_math = 80;
e.student_C = 85;
e.sum_grade = e.student_mysql + e.student_math + e.student_C;
insertList(&L, 1, e);
strcpy(e.student_name, "Jerry");
strcpy(e.student_class, "Class 2");
e.student_number = 1002;
e.student_mysql = 85;
e.student_math = 90;
e.student_C = 95;
e.sum_grade = e.student_mysql + e.student_math + e.student_C;
insertList(&L, 2, e);
displayList(L);
deleteList(&L, 1);
displayList(L);
int index = searchList(L, "Jerry");
if (index != 0) {
printf("Jerry's information is:\n");
printf("Name\tClass\tNumber\tMySQL\tMath\tC\tSum\n");
printf("%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\n", L.data[index - 1].student_name, L.data[index - 1].student_class, L.data[index - 1].student_number, L.data[index - 1].student_mysql, L.data[index - 1].student_math, L.data[index - 1].student_C, L.data[index - 1].sum_grade);
}
return 0;
}
```
阅读全文