#include<stdio.h>
#include<stdlib.h>
typedef struct student{
int id;
int age;
int score;
char name[128];
struct student* next;
}STU,*PSTU;
PSTU head=NULL;
int main(int argc, char*argv[])
{
int ret;
int i;
PSTU p;
char ch;
printf("添加学生信息,请输入\n");
while(1)
{
p = malloc(sizeof(STU));
printf("学号\t年龄\t分数\t姓名\n");
ret = scanf("%d%d%d%s",
&p->id,
&p->age,
&p->score,
p->name);
while(getchar() !='\n'); //清空缓存区
if(head == NULL){
p->next = NULL;
head = p;
}else{
p->next= head;
head = p;
}
b:
//判断是否退出创建
printf("是否继续添加?[Y/n] ");
scanf("%c",&ch);
while(getchar() !='\n'); //清空缓存区
if(ch=='Y'||ch=='y')
continue;
else
if(ch=='N'||ch=='n')
break;
else
goto b;
}//end while
//3,打印学生信息
printf("\n学号\t年龄\t分数\t姓名\n");
p = head;
while(p)
{
printf("%d\t%d\t%d\t%s\n",p->id,p->age,p->score,p->name);
p = p->next;
}
return 0;
}