返回列表 发帖
这题应该是1.txt总是比2.txt多吧?
心绪平和,眼藏静谧。

TOP

这类的交错输出的文本题比较经典,不确定到底那个多,岂不是要先得读出行数多或行数少的那个?
心绪平和,眼藏静谧。

TOP

的确如此 思维定向了。
心绪平和,眼藏静谧。

TOP

@echo off&setlocal enabledelayedexpansion&set n=-1
for /f "delims=" %%a in (1.txt) do (
set/a n+=1
set flag=
call :lp %%a
if not defined flag echo %%a
)
:lp
if "%1" equ "" set/a n+=1
set m=skip=%n%
if "%m%" equ "skip=0" set "m="
for /f "%m% delims=" %%a in (2.txt) do if "%1" neq "" (echo %1&echo %%a&set flag=a&goto :eof) else echo %%a
if "%1" equ "" pause

[ 本帖最后由 pusofalse 于 2008-7-25 16:55 编辑 ]
1

评分人数

    • batman: 这样的代码效率是最高的。PB + 10
心绪平和,眼藏静谧。

TOP

为了减少不必要的调用,修改如下。
@echo off&set n=-1
for /f "delims=" %%a in (1.txt) do (
set/a n+=1
set flag=
if not defined faith call :lp %%a
if not defined flag echo %%a
)
:lp
if "%1" equ "" set/a n+=1
set m=skip=%n%
if "%m%" equ "skip=0" set "m="
for /f "%m% delims=" %%a in (2.txt) do if "%1" neq "" (echo %1&echo %%a&set flag=a&goto :eof) else echo %%a
set faith=faith
if "%1" equ "" pauseCOPY
心绪平和,眼藏静谧。

TOP

jm厉害,考虑这么全面。
心绪平和,眼藏静谧。

TOP

返回列表