#include <stdio.h>
#include<malloc.h>
struct Student
{
int nianji;
float chengji;
char name[100];
};
int main () {
int len;
struct Student *pArr;
struct Student t;
int i,j;
printf("请输入学生人数:\n");
printf("len= ");
scanf("%d",&len);
pArr=(struct Student*)malloc(len*sizeof(struct Student));
for(i=0;i<len;++i)
{
printf("请输入第%d个学生的信息: ",i+1);
printf("年龄 = ");
scanf("%d",&pArr[i].nianji);
printf("成绩 = ");
scanf("%f",&pArr[i].chengji);
printf("name = ");
scanf("%s",pArr[i].name);
}
for(i=0;i<len-1;++i)
{
for(j=0;j<len-1-i;++j)
{
if(pArr[j].chengji > pArr[j+1].chengji)
{
t=pArr[j];
pArr[j]=pArr[j+1];
pArr[j+1]=t;
}
}
}
printf("学生的信息是:\n");
for(i=0;i<len;++i)
{
printf("第%d个学生的信息是:\n",i+1);
printf(" 年龄 = %d\n",pArr[i].nianji);
printf(" 成绩 = %f \n",pArr[i].chengji);
printf(" 名字 = %s \n",pArr[i].name);
printf("\n \n");
}
return 0;
}