奔跑的人生 的学生作业:
#include
#define MAX 10
// 实际学⽣的存储
struct student
{
char name[20];
int id;
int age;
};
typedef struct student datatype_t;
typedef struct
{
datatype_t buf[MAX]; // 定义数组记录班级学⽣每个学⽣的信息。
int n; // 学⽣实际到来的个数。
} seqlist_t;
seqlist_t *create_empty_seqlist()
{
seqlist_t *l = NULL;
l = (seqlist_t *)malloc(sizeof(seqlist_t));
if (NULL == l)
{
printf("seqlist is null");
return NULL;
}
memset(l, 0, sizeof(seqlist_t));
l->n = 0;
return l;
}
int is_full_seqlist(seqlist_t *l)
{
return l->n == MAX ? 1 : 0;
}
void insert_data_seqlist(seqlist_t *l, datatype_t data)
{
l->buf[l->n] = data;
l->n++;
return;
}
void printf_data_seqlist(seqlist_t *l)
{
for (int i = 0; i < l->n; i++)
{
printf("%s %d %d\n", l->buf[i].name,l->buf[i].id,l->buf[i].age);
}
return;
}
int main()
{
seqlist_t *l = NULL;
l = create_empty_seqlist();
datatype_t data;
printf("请输入%d个学生的信息:\n",MAX);
while (!is_full_seqlist(l))
{
scanf("%s%d%d\n",data.name,&data.id,&data.age);
insert_data_seqlist(l,data);
}
printf_data_seqlist(l);
free(l);
l = NULL;
return 0;
}