题目:建立一个链表,输入学生的信息(学号、姓名、成绩),直到输入的学号为0时结束,输出所有学生的信息。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct stud_node
{
int num;
char name[20];
int score;
struct stud_node* next;
};
int main()
{
struct stud_node* head, * tail, * p;
int num, score;
char name[20];
int size = sizeof(struct stud_node);
head = tail = NULL;
printf("input num,name and score:\n");
scanf("%d", &num);
while (num != 0)
{
scanf("%s%d", name, &score);
p = (struct stud_node*)malloc(size);
p->num = num;
strcpy(p->name, name);
p->score = score;
p->next = NULL;
if (head == NULL)
head = p;
else tail->next = p;
tail = p;
scanf("%d", &num);
}
for (p = head; p; p = p->next)
printf("%d %s %d\n", p->num, p->name, p->score);
return 0;
}