#include <stdio.h>
#include <malloc.h.>
#include <string.h>
typedef struct STU
{
char name[20];
int ID;
char gender[6];
int Chinese;
int Math;
int English;
int avg;
struct STU *next;
}Stu,*pStu;
pStu create(void);
int main()
{
int n;
pStu head=NULL,p1;
printf("欢迎进入学生排序系统\n");
printf("选择要进行的操作(0:退出 1:录入学生信息):");
scanf("%d",&n);
if(n==0)
{
return 0;
}
printf("请输入原始学生信息:\n");
head=create();
return 0;
}
pStu create(void)
{
int m;
char name[20];
int ID;
char gender[6];
int Chinese;
int Math;
int English;
pStu head,p,s;
head=p=(pStu)malloc(sizeof(Stu));
head->next=NULL;
printf("需要添加学生信息吗?(0:结束 1:继续)\n");
scanf("%d",&m);
while(m!=0)
{
s=(pStu)malloc(sizeof(Stu));
printf("请输入姓名:\n");
scanf("%s",s->name);
printf("请输入性别:\n");
scanf("%s",s->gender);
printf("请输入学号:\n");
scanf("%d",&s->ID);
printf("请输入语文成绩:\n");
scanf("%d",&s->Chinese);
printf("请输入数学成绩:\n");
scanf("%d",&s->Math);
printf("请输入英语成绩:\n");
scanf("%d",&s->English);
s->avg=(s->Chinese+s->English+s->Math)/3;
s->next=p->next;
p->next=s;
p=s;
printf("需要添加学生信息吗?(0:结束 1:继续)\n");
scanf("%d",&m);
}
return head;
}
供参考:
#include <stdio.h>
#include <malloc.h.>
#include <string.h>
typedef struct STU
{
char name[20];
int ID;
char gender[6];
int Chinese;
int Math;
int English;
int avg;
struct STU *next;
}Stu,*pStu;
pStu create(void);
int main()
{
int n;
pStu head=NULL,p1;
printf("欢迎进入学生排序系统\n");
printf("选择要进行的操作(0:退出 1:录入学生信息):");
scanf("%d",&n);
if(n==0)
{
return 0;
}
printf("请输入原始学生信息:\n");
head=create();
p1=head->next;
while(p1){
printf("%s %d %s %d %d %d %d\n",p1->name,p1->ID,
p1->gender,p1->Chinese,p1->Math,p1->English,p1->avg);
p1=p1->next;
}
return 0;
}
pStu create(void)
{
int m;
//char name[20];
//int ID;
//char gender[6];
//int Chinese;
//int Math;
//int English;
pStu head,p,s;
head=(pStu)malloc(sizeof(Stu));
head->next=NULL;
p=head;
//printf("需要添加学生信息吗?(0:结束 1:继续)\n");
//scanf("%d",&m);
while(1)
{
printf("需要添加学生信息吗?(0:结束 1:继续)\n");
scanf("%d",&m);
if(m==0) break;
s=(pStu)malloc(sizeof(Stu));
printf("请输入姓名:\n");
scanf("%s",s->name);
printf("请输入性别:\n");
scanf("%s",s->gender);
printf("请输入学号:\n");
scanf("%d",&s->ID);
printf("请输入语文成绩:\n");
scanf("%d",&s->Chinese);
printf("请输入数学成绩:\n");
scanf("%d",&s->Math);
printf("请输入英语成绩:\n");
scanf("%d",&s->English);
s->avg=(s->Chinese+s->English+s->Math)/3;
s->next=p->next;
p->next=s;
//p=s;
}
return head;
}