[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 批处理如何用选择法对文本文件内数字排序并输出?

看到有人问数字排序的问题,就尝试用批处理试试能否实现,以前没成功过,今天学习了变量延迟后一试果然可以了。代码发上来,首次发帖,大家看看。
批处理代码:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /a n=0
  4. for /f %%i in (1.txt) do (
  5. set /a n+=1
  6. set arr!n!=%%i
  7. )
  8. set /a count=n-1
  9. for /l %%i in (1,1,!count!) do (
  10. set /a j=%%i+1
  11. for /l %%k in (!j!,1,!n!) do (
  12.   set /a var1=!arr%%i!
  13.   set /a var2=!arr%%k!
  14.   if !var1! geq !var2! (
  15.    set temp=!arr%%i!
  16.    set arr%%i=!arr%%k!
  17.    set arr%%k=!temp!)
  18. )
  19. )
  20. for /l %%i in (1,1,!n!) do echo !arr%%i!
  21. pause
复制代码

需要排序的数据文件名称为1.txt,测试内容如下:

20
12
25
30
45
9
100

目前仅仅支持整数的排序,不支持小数,到现在我连小数加减法都搞定呢,大家帮帮忙。
如何计算小数加减法,论坛上搜索到的都不太好。

[ 本帖最后由 escortmnm 于 2010-8-25 13:35 编辑 ]

返回列表