//容易
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
struct student {
char id[10]; //学号
char name[20]; //学生姓名
int stu_class; //学生班级
int score; //学生成绩
}stu[20];
bool cmp(student a,student b){
if(a.score!=b.score)
return a.score>b.score;
else return strcmp(a.id,b.id)<0;
}
int main()
{
int num; //num为学生数量
printf("请输入学生数量\n");
scanf("%d",&num);
for(int i=1;i<=num;i++) //输入各个学生的数据
{
printf("请输入第%d个学生的学号\n",i);
scanf("%s",stu[i-1].id);
printf("请输入第%d个学生的姓名\n",i);
scanf("%s",stu[i-1].name);
printf("请输入第%d个学生的班级\n",i);
scanf("%d",&stu[i-1].stu_class);
printf("请输入第%d个学生的成绩\n",i);
scanf("%d",&stu[i-1].score);
}
sort(stu,stu+num,cmp);
for(int i=0;i<num;i++)
{ printf("第%d个同学的成绩,姓名,学号,班级依次是\n",i+1);
printf("%d\n",stu[i].score);
printf("%s\n",stu[i].name);
printf("%s\n",stu[i].id);
printf("%d\n",stu[i].stu_class);
}
return 0;
}
学生排序问题
最新推荐文章于 2022-05-10 16:35:40 发布