数据结构与算法之桶排序

问题:现在分别有 5 个人的名字和分数:huhu 5 分、haha 3分、xixi 5 分、hengheng 2 分和 gaoshou 8 分。请按照分数从高到低,输出他们的名字。
上面的问题不适合使用桶排序,适合使用冒泡排序来解决。看完桶排序后,经过一番YY,总算给实现,不过实现的实在是有些.....

代码如下:

#include
#include
struct student{
    char name[15];
    int score;
};

int main()
{
    int i,j,k=0;
    int score;
    int n;
    char name[15];
    struct student stu1[11];
    struct student stu2[11];
    int a[10];

    //对结构体数组初始化
    for(i=0;i<=10;i++)
    {
        strcpy(stu1[i].name,"null");
        stu1[i].score = -1;//用于存储实际成绩

        strcpy(stu2[i].name,"null");//其实对于结构体数组stu2来说,name部分对其并没有实际的用途!
        stu2[i].score = 0;//用于存储某一成绩出现的次数
        a[i] = -2;
    }
    
    printf("请输入参与排序的学生人数:");
    scanf("%d",&n);

    printf("请分别输入待排序学生的姓名和成绩:\n");
    for(i=0;i

你可能感兴趣的:(数据结构与算法之桶排序)