#include"stdio.h"
#include"stdlib.h"
#include"string.h"
typedef struct student
{
int score;//学生成绩
struct student *next;
}student;
student *input(student *stu);//输入成绩
void output(student *s);//打印成绩
int main()
{ student *s,*stu;
stu=(student *)malloc(sizeof(student ));//建表 (含有头结点)
stu->next=NULL;
s=input(stu);
output(s);
system("pause");
return 1;
}
student *input(student *stu)
{ int i,a;
student *p,*q;
for(i=0;i<10;i++)
{
printf("请输入学生分数:\n");
scanf("%d",&a);
q=stu;
p=(student *)malloc(sizeof(student));
p->score=a;
while(q->next!=NULL)//找到插入节点的
{
if(q->next->score < p->score)
break;
q=q->next;
}
p->next=q->next;//头插法实现从高到低
q->next=p;
}
return stu;
}
void output(student *s)
{ student *p=s->next;
while(p!=NULL)//打印成绩
{
printf("%d ",p->score);
p=p->next;
}
}
#include"stdlib.h"
#include"string.h"
typedef struct student
{
int score;//学生成绩
struct student *next;
}student;
student *input(student *stu);//输入成绩
void output(student *s);//打印成绩
int main()
{ student *s,*stu;
stu=(student *)malloc(sizeof(student ));//建表 (含有头结点)
stu->next=NULL;
s=input(stu);
output(s);
system("pause");
return 1;
}
student *input(student *stu)
{ int i,a;
student *p,*q;
for(i=0;i<10;i++)
{
printf("请输入学生分数:\n");
scanf("%d",&a);
q=stu;
p=(student *)malloc(sizeof(student));
p->score=a;
while(q->next!=NULL)//找到插入节点的
{
if(q->next->score < p->score)
break;
q=q->next;
}
p->next=q->next;//头插法实现从高到低
q->next=p;
}
return stu;
}
void output(student *s)
{ student *p=s->next;
while(p!=NULL)//打印成绩
{
printf("%d ",p->score);
p=p->next;
}
}