我辣鸡的c作业,非常苦恼
#include
#include
#define st struct student
#include
st
{
int num,score[3];
char name[9];
struct student *next;
};
st * reat()
{
st *head=NULL,*p,*q;int n,i,max=0;char name[9]={'\0'};
printf("请输入班级人数:");
scanf("%d",&n);
for(i=1;iname,&q->num,&q->score[0],&q->score[1],&q->score[2]);
q->next=NULL;
if(head==NULL)
head=q;
else
p->next=q;
p=q;
}
return(head);
}
st * dele(st *head)
{
int xue;char c;
st *p,*q;
p=head;
printf("请输入要删除学生的学号");
scanf("%d",&xue);
while(p!=NULL&&p->num!=xue)
{
q=p;
p=p->next;
}
getchar();
printf("你确定删除吗y/n?:");
scanf("%c",&c);
if(c=='y')
{
if(p==NULL)
printf("没有这个人\n");
else if(p==head)
{
head=p->next;
printf("已经删除信息\n");
}
else
{
q->next=p->next;
printf("已经删除信息\n");
}
free(p);
}
return (head);
}
st *paixu(st * head)
{
st *p,*q,*N;
int i=0;
for(p=head;p->next!=NULL;p=p->next)
i++;
while(i--)
{
p=head;
q=p->next;
while(p->next!=NULL)
{
if(q->numnum)
{
if(head==p)
{
p->next=q->next;
q->next=p;
head=q;
q=p;
p=head;
}
else
{
N=head;
while(N->next!=p)
N=N->next;
p->next=q->next;
q->next=p;
N->next=q;
N=q;
q=p;
p=N;
}
}
p=p->next;
q=q->next;
}
}
return head;
}
st *insert(st *head)
{
st *q=NULL;
q=(st *)malloc(sizeof(st));
printf("请输入要插入学生的姓名,学号,第一门课成绩,第二门课成绩,第三门课成绩:");
scanf("%s%d%d%d%d",&q->name,&q->num,&q->score[0],&q->score[1],&q->score[2]);
getchar();
q->next=head;
head=q;
return (head);
}
void print(st *xue)
{
st *p;
if(xue!=NULL)
{
for(p=xue;p!=NULL;p=p->next)
{
printf("学生的姓名%s,学号%d,第一门课成绩%d,第二门课成绩%d,第三门课成绩%d\n",p->name,p->num,p->score[0],p->score[1],p->score[2]);
}
}
else printf("链表是空的,请建立链表!\n");
}
st * clear(st *head)
{
char c;
getchar();
printf("你确定删除吗y/n?:");
scanf("%c",&c);
if(c=='y')
{
free(head);
head=NULL;
}
return(head);
}
main()
{
st *xue=NULL;int x;
while(1)
{
printf("1.建立学生成绩链表 2.对学生信息排序 3.插入学生信息 4.删除学生信息 5.输出预览 6.清空 ctrl+c退出\n请输入操作:");
scanf("%d",&x);
switch(x)
{
case 1:xue=reat();break;
case 2:xue=paixu(xue);break;
case 3:xue=insert(xue);break;
case 4:xue=dele(xue);break;
case 5:print(xue);break;
case 6:xue=clear(xue);break;
}
printf("\n");
printf("\n");
}
}
Comments | 1 comment
Blogger 宁父亲
爪巴