编写input()实现对5个学生的学号 姓名 性别 年龄和成绩在主函数中按成绩进行排序用函数将学生的信息输出

2025-04-02 01:00:53
推荐回答(2个)
回答1:

#include
#define N 5
struct STUDENT { int num,sex,age; char name[20]; float score; };
void input(struct STUDENT *a,int n) { int i;
  printf("请输入学生信息:姓名 性别(0男1女) 年龄 成绩\n");
  for ( i=0;i}
void output(struct STUDENT *a,int n,int *index) { int i,k;
  for ( i=0;i    k=index[i];
    printf("%d\t%-10s\t%s %2d %.1f\n",
           a[k].num,a[k].name,( a[k].sex==0 )?("男"):("女"),
           a[k].age,a[k].score);
  }
}
void main() { int i,j,k,index[N]; struct STUDENT a[N];
  input(a,N); for ( i=0;i  for ( i=0;i    for ( j=i+1;j      if ( a[index[i]].score        { k=index[i]; index[i]=index[j]; index[j]=k; }
  output(a,N,index);
}

回答2:

学生成绩录入并排序输出 30rmb帮写 私信