编程任务编号 O: 五人列队

编程任务编号 O: 五人列队

任务描述

五个战士按照身高从矮到高列成一队。

给定5个整数,表示5个战士的身高,请按身高排序。当然可能有两人的身高相同。

输入

五个整数,表示5个战士的身高。

输出

从小到大排列的5个数。

输入举例

173 172 175 172 174

输出举例

172 172 173 174 175

注意事项

有很多种方法实现上述5个数排序任务。下面提供的思路仅供初学者参考!
可分成4趟。
第一趟:用第1个数与其余的4个数比较,如果发现其中有某个数比它小,则交换这2个数的值。这样5个数中的最小值一定放在第1个变量中了。
第二趟:用第2个数与其余的3个数比较,如果发现其中有某个数比它小,则交换这2个数的值。这样4个数中的最小值一定放在第2个变量中了。
第三趟:用第3个数与其余的2个数比较,如果发现其中有某个数比它小,则交换这2个数的值。这样3个数中的最小值一定放在第3个变量中了。
第四趟:用第4个数与其余的1个数比较,如果发现其中有某个数比它小,则交换这2个数的值。这样2个数中的最小值一定放在第4个变量中了。剩下在最后一个变中的值一定是最小值了。
这样有序结果就依次保存在这5个变量中,依次输出即可。

#include <stdio.h>

#include <string.h>

#include <math.h>


int main()

{

    int i, j, temp,nums[6];

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

    {

        scanf("%d",&nums[i]);

    }


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

    {

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

        {

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

            {

                temp = nums[j];

                nums[j] = nums[j+1];

                nums[j+1] = temp;

            }

        }

    }



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

    {

        printf("%d ",nums[i]);

    }

}
发布了118 篇原创文章 · 获赞 85 · 访问量 48万+

猜你喜欢

转载自blog.csdn.net/c_lanxiaofang/article/details/103504952