C语言解成绩排序怎么解

请问这个题目用C语言怎么解 题库里面的题没有找到C语言的解法问问各位

img

定义个数组,输入信息,然后冒泡排序后输出啊

#include <stdio.h>
typedef struct _student
{
    char name[20];
    int score;
}student;

int main()
{
    student stu[20],temp;
    int n,i,j;
    scanf("%d",&n);
    for(i=0;i<n;i++)
       scanf("%s%d",stu[i].name,&stu[i].score);
    for(i=0;i<n-1;i++)
        for(j=0;j<n-i-1;j++)
        {
            if(stu[j].score < stu[j+1].score)
            {
                temp = stu[j];
                stu[j] = stu[j+1];
                stu[j+1] = temp;
            }
        }
    for(i=0;i<n;i++)
        printf("%s %d\n",stu[i].name,stu[i].score);
    return 0;
}

你好题主,已经有人为你解题了,我就只讲解题思路,有了思路,配合代码看就清晰多了。你可以采用两个数组,一个用来存放名字,一个是成绩,相同下标为同一个学生的姓名和成绩。
你先要初始化吧,读取标准输入到这两个数组中,比如:

name[0] = "小明";
score[0] = 98;

然后对成绩数组排序的同时对名称对应下就可以了,是不是很简单呢!