在批处理里,将数字从小到大的排列,可以吗?

来源:百度知道 编辑:UC知道 时间:2024/06/06 07:21:27
有5个数字

%num1%
%num2%
%num3%
%num4%
%num5%

如何让他们从小到大的排列并且打印在屏幕上呢?
请问 如何关联?
给个详细的步骤可以吗?

 
 
 
@echo off

::假设你的数字是以下这五个:
set num1=400
set num2=1
set num3=57
set num4=3
set num5=20000

::XP Cmd 自带的 sort 只能做字符排序,所以不同位数的数字必须右端对齐。
::最小和最大的数字相差 4 位数,所以往所有数字左边填 4 个空格,
::然后只输出右端的 5 个字符(最大的数字的位数)给 sort 排序。
set num1=    %num1%
set num2=    %num2%
set num3=    %num3%
set num4=    %num4%
set num5=    %num5%

::sort 只能做行与行之间的排序,而 echo 一次只能输出一行,
::所以用括号把 5 个输出结合成一个 5 行的输出最方便。
(
    echo %num1:~-5%
    echo %num2:~-5%
    echo %num3:~-5%
    echo %num4:~-5%
    echo %num5:~-5%

) | sort
 
 
 

qsort一下,或者写一个冒泡,反正写个排序程序,然后关联起来就好了!