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

[ 新手练习题 10 ] 批处理实现文本行序重排

[ 新手练习题 10 ] 文本行序重排
假设原文本:
  1. A B
  2. B D
  3. X C
  4. D M
复制代码
显示示例:
  1. D M
  2. B D
  3. A B
  4. X C
复制代码
注意:以上只是一个范例。

若某行甲的首字母与另一行乙的尾字母相同,则行甲要排在行乙前面。

未进行重排的行位置任意。
假定:每一纵列不会出现重复字母,同行字母也不会相同。
也不会出现如 “A B”,“B A” 这样会让排序进入死循环的行。

目的:综合运用,学习字符串对比方法。

要求:不区分大小写;
   方法不限。

评分:代码可读性 1 分;
   首个新方法 8 分,第二个 6 分,依次类推,最少 2 分;
   一人可多种方法,新方法追加 4 分,已经出现过的方法追加 1 分。

[ 本帖最后由 wxcute 于 2009-9-29 17:20 编辑 ]
批处理之家论坛官方 QQ 群 :【当前人数/人数上限】【2009-07-08】
群①:43011867(181/200);群②:(暂缺数据);群③:66165582(120/200)。

回复 2 楼 kjliuo 的帖子

只是示例文本,值并不是固定的。
可能你没看清题意。
批处理之家论坛官方 QQ 群 :【当前人数/人数上限】【2009-07-08】
群①:43011867(181/200);群②:(暂缺数据);群③:66165582(120/200)。

TOP

回复 6楼 Seter 的帖子

其中一种排法
  1. B C
  2. A B
  3. O K
  4. D E
  5. M D
复制代码
O K 这两个字母只出现一次,位置可以任意;
D E、M D 这两组与前面 B C、A B 这两组无关联,因此也可以放在上面,或是穿插其中。
批处理之家论坛官方 QQ 群 :【当前人数/人数上限】【2009-07-08】
群①:43011867(181/200);群②:(暂缺数据);群③:66165582(120/200)。

TOP

回复 11楼 的帖子

没有任何输出哦?
其中a.txt文件存在,内容正常。
批处理之家论坛官方 QQ 群 :【当前人数/人数上限】【2009-07-08】
群①:43011867(181/200);群②:(暂缺数据);群③:66165582(120/200)。

TOP

加了,可还是一样。
两位技术组成员写代码都没加暂停,我一样测试。所以这点能力是不用怀疑我的。
另外我猜可能是我机子的问题,由于个人原因,没办法换机器测试,只好拜托有条件的兄弟朋友帮忙进行测试了。
测试文本
d a
c b
a c
f q
注释掉 @echo off 后
最后一行测试显示为:echo;!tdcaf!
=================================
不好意思,可能是电脑上记事本程序有问题,一行中最后一个字符若是空格,复制到记事本中会被自动忽略掉。
所以复制代码时少了两个空格,又因为代码中设置变量的行没有用引号闭合,所以没有检查出来。
代码中四、五两行加上空格后测试正确。

[ 本帖最后由 wxcute 于 2009-9-30 09:47 编辑 ]
批处理之家论坛官方 QQ 群 :【当前人数/人数上限】【2009-07-08】
群①:43011867(181/200);群②:(暂缺数据);群③:66165582(120/200)。

TOP

返回列表