该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
# include
# include
struct Student
{
int age;
int score;
char name[100];
};
void intput(struct Student * p,int len)
{
int i;
for(i=0; i
{
printf("请输入第%d个同学的信息\n",(i+1));
printf("age=");
scanf("%d", &p[i].age );
printf("score=");
scanf("%d", &p[i].score );
printf("name=");
scanf("%s", p[i].name );
}
}
void output(struct Student * q,int len)
{
int i;
printf("\n\n学生信息是:\n");
for(i=0; i
{
printf("第%d个同学的信息\n",(i+1));
printf("age=");
printf("%d\n",q[i].age );
printf("score=");
printf("%d\n",q[i].score );
printf("name=");
printf("%s\n",q[i].name );
}
}
void sort(struct Student * prt,int len)
{
int i,j;
struct Student t;
for(i=0; i
{
for(j=0; j
{
if(prt[j].score < prt[j+1].score)
{
t = prt[j+1];
prt[j+1] = prt[j];
prt[j] = t;
}
}
}
}
int main(void)
{
int len;
struct Student * ptr;
struct Student st;
int i;
printf("请输入您需要排序的同学个数:\n");
printf("len =");
scanf("%d",&len);
ptr = (struct Student *)malloc(len * (sizeof(struct Student)));
intput(&st,len);
sort(&st,len);
output(&st,len);
free(ptr);
return 0;
}