[应用相关] shell三个数并进行升序排序

[复制链接]
 楼主| 小夏天的大西瓜 发表于 2023-12-21 20:35 | 显示全部楼层 |阅读模式
输入三个数并进行升序排序

  1. #!/bin/bash

  2. # 依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字
  3. read -p "请输入一个整数:" num1
  4. read -p "请输入一个整数:" num2
  5. read -p "请输入一个整数:" num3
  6. # 不管谁大谁小,最后都打印 echo "$num1,$num2,$num3"
  7. # num1 中***存最小的值,num2 中***存中间值,num3 ***存最大值
  8. # 如果输入的不是这样的顺序,则改变数的存储顺序,如:可以将 num1 和 num2 的值对调
  9. tmp=0
  10. # 如果 num1 大于 num2,就把 num1 和和 num2 的值对调,确保 num1 变量中存的是最小值
  11. if [ $num1 -gt $num2 ];then   
  12.   tmp=$num1
  13.   num1=$num2
  14.   num2=$tmp
  15. fi
  16. # 如果 num1 大于 num3,就把 num1 和 num3 对调,确保 num1 变量中存的是最小值
  17. if [ $num1 -gt $num3 ];then   
  18.     tmp=$num1
  19.     num1=$num3
  20.     num3=$tmp
  21. fi
  22. # 如果 num2 大于 num3,就把 num2 和 num3 对标,确保 num2 变量中存的是小一点的值
  23. if [ $num2 -gt $num3 ];then
  24.     tmp=$num2
  25.     num2=$num3
  26.     num3=$tmp
  27. fi
  28. echo "排序后数据(从小到大)为:$num1,$num2,$num3"


中国龙芯CDX 发表于 2023-12-28 09:35 | 显示全部楼层
升序排序这个应该是冒泡法
LOVEEVER 发表于 2024-1-25 12:34 | 显示全部楼层
冒泡法很简单的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

257

主题

2238

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部

257

主题

2238

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部