错在哪~

来源:互联网 发布:seo关键词挖掘 编辑:程序博客网 时间:2024/04/19 12:21
# include <stdio.h>
# include <malloc.h>
void input(struct student * , int );
void output(struct student *, int);
void sort(struct student * , int );
int main(void)
{
int len;
struct student * p;
struct student
{
char name[100];
int age;
float score;
};
//动态构造一维数组
printf("请输入学生个数:\n");
printf("len = ");
scanf("%d", &len);
p = (struct student *)malloc(len * sizeof(struct student));
   
input(p, len);
sort(p, len);
output(p, len);


return 0;
}
void input(struct student * q, int len)
{
int i;
for (i=0; i<len; ++i)
{
printf("请输入第%d个学生信信息:\n", i+1);
printf("name= ");
scanf("%s", q[i].name);


printf("age= ");
scanf("%d", &q[i].age);

printf("score= ");
scanf("%f", &q[i].score);
}
}
void sort(struct student * q, int len)
{
int i, j;
struct student t;
for (i=0; i<len-1; ++i)
{  
                  for (j=0; j<len-1-i; ++j)
if(q[j].score > q[j+1].score)
{
t = q[j];
q[j]= q[j+1];
q[j+1] = t;
}
}


}
void output(struct student * p, int len)
{
int i;


for (i=0; i<len; ++i)
{
 printf("第%d个学生信息是:\n", i+1);

 printf("name = %s\n", p[i].name);
          printf("age= %d\n", p[i].age );
 printf("score = %f\n", p[i].score);
}

}
原创粉丝点击