存在的问题是动态构造的空间无法使用
#include<stdio.h>
#include<malloc.h>struct student
{
int age;
char score;
char name[100];
};
int main(void)
{
struct student*parr;
struct student t;
int i, j,len;
printf("请输入要登记的学生数\n");
printf("len=");
scanf("%d",&len);
parr=(struct student*)malloc(len*sizeof(struct student));
for(i=0;i<len;i++)
{
printf("请输入第%d个学生的信息\n",i+1);
printf("age=");
scanf("%d",);
printf("score=");
scanf("%f",&parr[i].score);
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].score<parr [j+1].score)
{
t=parr[j];
parr[j]=parr[j+1];
parr[j+1]=t;
}
}
}
printf("请输出学生信息\n\n");
for(i=0;i<len;i++)
{
printf("age=%d",parr [i].age);
printf("score=%f",parr [i].score);
printf("name=%s",parr [i].name);
printf("\n\n");
}
return 0;
}