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

[文本处理] 【练习-047】对文本内容按要求排序并计算数值和的批处理

&&有a.txt,内容如下:
  1. 张三        33
  2. 李四        32
  3. 李四        62
  4. 赵六        91
  5. 赵六        64
  6. 张三        35
  7. 王五        82
  8. 张三        52
  9. 王五        66
  10. 张三        42
  11. 李四        78
  12. 张三        75
  13. 李四        21
  14. 王五        53
  15. 赵六        78
  16. 张三        85
  17. 李四        96
  18. 王五        87
  19. 张三        8
  20. 李四        13
  21. 李四        32
  22. 张三        13
  23. 赵六        30
  24. 王五        0
  25. 王五        18
  26. 赵六        66
  27. 王五        54
复制代码
  要求用批处理将文本按张三、李四、王五、赵六的顺序进行排序,并计算各人的数值和,同时在前面加上行号,生成b.txt如下:
  1. 1        张三        33
  2. 2        张三        35
  3. 3        张三        52
  4. 4        张三        42
  5. 5        张三        75
  6. 6        张三        85
  7. 7        张三        8
  8. 8        张三        13
  9. 9        合计        343
  10. 10        李四        32
  11. 11        李四        62
  12. 12        李四        78
  13. 13        李四        21
  14. 14        李四        96
  15. 15        李四        13
  16. 16        李四        32
  17. 17        合计        334
  18. 18        王五        82
  19. 19        王五        66
  20. 20        王五        53
  21. 21        王五        87
  22. 22        王五        0
  23. 23        王五        18
  24. 24        王五        54
  25. 25        合计        360
  26. 26        赵六        91
  27. 27        赵六        64
  28. 28        赵六        78
  29. 29        赵六        30
  30. 30        赵六        66
  31. 31        合计        329
复制代码
  本题满分15分,视情况加分,以思路为重(请版主们暂不解答)

[ 本帖最后由 batman 于 2009-6-24 17:37 编辑 ]
***共同提高***

原帖由 随风 于 2009-6-6 16:34 发表
一定要按 张三、李四这样的顺序吗? 李四、张三这样应该也可以吧?
另外你的练习应该是 046 了  (^_^)
http://www.bathome.net/viewthread.php?tid=4284&highlight=%A1%BE%C1%B7%CF%B0

呵呵,本题就是要按指定的顺序,不然一个sort不就完事了。
***共同提高***

TOP

楼上的有错误
***共同提高***

TOP

给出我的第一种方法(和tireless思路一样):
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1,2" %%a in (a.txt) do set "_%%a=!_%%a! %%b"
  3. for %%a in (张三 李四 王五 赵六) do (
  4.      for %%b in (!_%%a!) do set /a num+=%%b,n+=1&echo !n! %%a %%b>>b.txt
  5.      set /a n+=1&echo !n! 合计 !num!>>b.txt&set /a num=0
  6. )      
  7. start b.txt
复制代码
***共同提高***

TOP

楼上的好像没看清楚题意吧,你的排序在哪里?
***共同提高***

TOP

返回列表