天天码代码


私信TA

用户名:lzz333

访问量:453

签 名:

等  级
排  名 47288
经  验 308
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

冒泡排序法解题
浏览:378

解题思路:

注意事项:

参考代码:

#include<stdio.h>

#include<string.h>


struct stu

{

    char name[20];

    int score;

};


int main(void)

{

    struct stu a[18],temp;

    int i;

     int N;

     int j;

     scanf("%d",&N);

    for(i=0;i<N;i++)

    {

        scanf("%s %d",&a[i].name,&a[i].score);

    } 

 

    for(j=0;j<N-1;j++)

    {

        for(i=0;i<N-1-j;i++)

        {

            if(a[i].score > a[i+1].score)

            {

                temp = a[i];

                a[i] = a[i+1];

                a[i+1] = temp;

            }

            else if(a[i].score == a[i+1].score)

            {

                if(strcmp(a[i].name,a[i+1].name)<0)

                {

                    temp = a[i];

                    a[i] = a[i+1];

                    a[i+1] = temp;

                }

            }

        } 

    } 

    for(i=N-1;i>=0;i--)

    {

        printf("%s %d\n",a[i].name,a[i].score);

    } 

    return 0;

 } 


 

0.0分

5 人评分

  评论区

  • «
  • »