Board logo

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

作者: escortmnm    时间: 2010-8-25 10:13     标题: 批处理如何用选择法对文本文件内数字排序并输出?

看到有人问数字排序的问题,就尝试用批处理试试能否实现,以前没成功过,今天学习了变量延迟后一试果然可以了。代码发上来,首次发帖,大家看看。
批处理代码:
  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 编辑 ]




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2