69,373
社区成员
发帖
与我相关
我的任务
分享
void FunName(struct student **amp; p,int len)
{
}
FunName(&parr, len);
#include <stdio.h>
#include <malloc.h>
struct student
{
char name[100];
float score;
};
struct student *sort(struct student * parr,int len);
int main(void)
{
int len;
int i;
struct student * parr;
printf("请输入学生人数 len = ");
scanf("%d", &len);
printf("\n");
parr = (struct student *)malloc(len * sizeof(struct student));
for (i=0; i<len; ++i)
{
printf("请输入第%d个学生信息\n", i+1);
printf("name = ");
scanf("%s", parr[i].name);
printf("score = ");
scanf("%f", &parr[i].score);
printf("\n\n");
}
printf("************\n");
printf("**排序之前**\n");
printf("************\n");
printf("姓名 分数\n");
for(i=0;i<len;i++)
{
printf("%-10s%.0f\n",parr[i].name,parr[i].score);
}
parr=sort(parr,len);
printf("************\n");
printf("**排序之后**\n");
printf("************\n");
for(i=0;i<len;i++)
{
printf("%s %.0f\n",parr[i].name,parr[i].score);
}
return 0;
}
struct student *sort(struct student * parr,int len)
{
int i, j;
struct student t;
for (i=0; i<len; ++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;
}
}
return parr;
}