建立并初始化含有十名学生信息的线性表,每个结点的学生信息包括:编号、姓名、年龄。
时间: 2023-06-04 18:07:13 浏览: 41
好的,我可以回答你的第一个问题。建立并初始化含有十名学生信息的线性表的代码如下:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
int id;
char name[30];
int age;
} Student;
typedef struct {
Student *students;
int length;
} List;
List* createList(int length) {
List *list = (List*) malloc(sizeof(List));
list->students = (Student*) malloc(sizeof(Student) * length);
list->length = length;
for (int i = 0; i < length; i++) {
list->students[i].id = i + 1;
sprintf(list->students[i].name, "Student %d", i + 1);
list->students[i].age = rand() % 10 + 18;
}
return list;
}
void printList(List *list) {
printf("ID\tName\tAge\n");
printf("-----------------\n");
for (int i = 0; i < list->length; i++) {
printf("%d\t%s\t%d\n", list->students[i].id, list->students[i].name, list->students[i].age);
}
}
int main() {
List *list = createList(10);
printList(list);
return 0;
}
```
这个程序会创建一个包含十名学生信息的线性表,并随机生成这十名学生的年龄。你可以运行这个程序来看到结果,其中 "ID" 指的是学生编号,"Name" 指的是学生姓名,"Age" 指的是学生年龄。