返回列表 发帖
powershell练习一下题目。千字文保存为qzw.txt
$txt=(gc qzw.txt).split()|?{$_ -ne ""}
$dic=@{}
foreach($w in $txt){
for($i=0;$i -le 3;$i++){
if (!$dic.containskey($w[$i])){
$dic[$w[$i]]=1
} else {
$dic[$w[$i]]+=1
}
}
}
write-host "千字文中有以下重复字"
$dic.getenumerator()|?{$_.value -gt 1}
[console]::readkey()COPY

TOP

@echo off
setlocal enabledelayedexpansion
set /a total=0
:: 4字组合的个数
set /a word4num=0
for /f "delims=" %%i in (test.txt) do (
        set line=%%i
        for %%j in (!line!) do (
                set word4=%%j
                set desmap!word4num!=!word4!
                set /a word4num+=1
                set /a total+=4
                for /l %%n in (0 1 3) do (
                        set temp=!word4:~%%n,1!
                        :: 打印重复的字
                        if defined dic[!temp!] echo !temp!重复
                        set dic[!temp!]=!temp!
                )
        )
)
:: 总的字数
echo 总字数:!total!
echo 点击继续,逆序打印
pause>nul
for /l %%m in (!word4num!, -1, 0) do (
        set descnum=%%m
        :: 逆序打印
        call echo %%desmap!descnum!%%
)

TOP

话说可不可以每进行到一个字,就把它和全文每个字对比一遍,这样效率很低,但是我实在只能想到这种...
一个六年级小学生,请多指教

TOP

返回列表