#include <stdio.h>
#include <stdlib.h>
typedef struct note{
int num;
char name[10];
float score;
struct note *next;
}NOTE;
void printLink(NOTE *p);
NOTE *createLink();
void main(){
NOTE *head;
head=createLink();
printLink(head);
system("pause");
}
NOTE *createLink(){
NOTE *head=NULL,*p,*tail;
int x;
printf("请输入学号:");
scanf("%d",&x);
while(x>0){
p=(NOTE *)malloc(sizeof(NOTE));
p->num=x;
printf("请输入第%d号学生姓名:",p->num);
scanf("%s",p->name);
printf("请输入%d号同学成绩:",p->num);
scanf("%f",&p->score);
p->next=NULL;
if(head==NULL){
head=tail=p;
}else{
tail->next=p;
tail=p;
}
printf("请输入学号:");
scanf("%d",&x);
}
return head;
}
void printLink(NOTE *p){
if(p==NULL){
printf("无效值\n");
}else{
printf("学号\t姓名\t成绩\n");
}
while(p!=NULL){
printf("%d\t%s\t%g\n",p->num,p->name,p->score);
p=p->next;
}
}