科比你来


私信TA

用户名:1352847107

访问量:15351

签 名:

1352847107

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

  自我简介:

解题思路:

                我用的并不是选择法而是冒泡排序,思路是10个数之间两两比较,第一轮比较9次即可得出最大值,同理第二次比较依然可以得到次大值,依此类推总共比较9轮即可得到最终的排序结果,我这里提供了两种算法,第一种是在主函数里面进行操作,第二种是定义一个函数 ,在函数里面操作,其原理相同,大家可以自行选择一种算法借鉴


注意事项:

                两次循环皆是比较9次而不是10次 

                如果这篇文章对您有帮助,请您为我点个赞,又不懂的可以评论,我会为您解答

参考代码:

/*用选择法对10个整数从小到大排序。*/

#include<stdio.h>


int main()

{

    int a[10];

    int i = 0, t = 0, j = 0;


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

    {

        scanf("%d", &*(a+i));

    }

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

    {

        for(j=0; j<9-i; j++)

        {

            if(a[j]>a[j+1])

            {

                t = a[j];

                a[j] = a[j+1];

                a[j+1] = t;

            }

        }

    }


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

    {

        printf("%d\n", *(a+i));

    }


    return 0;

}


/*#include<stdio.h>


void sort (int *a, int len)

{

    int t = 0, i = 0, j = 0;

    for(i=0; i<len-1; i++)

    {

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

        {

            if(a[j]>a[j+1])

            {

                t = a[j];

                a[j] = a[j+1];

                a[j+1] = t;

            }

        }

    }

    return;

}

int main()

{

    int a[10];

    int i;

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

    {

        scanf("%d", &*(a+i));

    }

    sort(a, 10);

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

    {

        printf("%d\n", *(a+i));

    }


    return 0;

}*/


 

0.0分

0 人评分

新上线《蓝桥杯辅导》课程,近五年的蓝桥杯省赛与国赛真题都有,从读题开始理解题意、梳理思路、实现代码再提交评测全过程,可有效提升获奖比例甚至进国赛!课程介绍、试听请猛击这里

  评论区

  • «
  • »