|

楼主 |
发表于 2012-9-21 16:26:23
|
显示全部楼层
这是第二个:
# include<stdio.h>
# include<malloc.h>
struct student
{
int age;
float score;
char name[100];
};
main(void)
{
int len;
int * parr;
int i;
printf("请输入学生的个数:\n");
printf("len = ");
scanf("%d",&len);
parr = (struct student *)malloc(len * sizerof(struct student));
for (i=0; i<len; ++i)
{
printf("请输入第%d个学生的信息: ", i+1);
printf("age = ");
scanf("%d", &parr[i]);
printf("name = ",);
scanf("%s", parr[i].name);
printf("score = ");
scanf("%f",&parr[i].score);
}
//排序
for (i=0; i<len; ++i)
{
for (j=0; j<len-1-i; ++j)
{
if (parr[i].score > parr[j+1].score)
{
t = parr[j];
parr[j] = parr[j+1];
parr[j+1] = t;
}
}
}
//输出
for (i=0;i<len;++i)
{
printf("第%d学生的信息是:\n ", i+1);
printf("age = %d\n", parr[i].age);
printf("name = %s\n", parr[i].name);
printf("score = %f\n",parr[i].score);
printf("\n");
}
return 0;
} |
|