中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 给新人出的一道字符排序题(加分题):
« [1] [2] »
作者:
标题: 给新人出的一道字符排序题(加分题): 上一主题 | 下一主题
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 16 楼』:  感觉想复杂了:

兄弟不妨写出来看看。



批处理之家新域名:www.bathome.net
2008-5-21 17:09
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 17 楼』:  


@echo off&setlocal enabledelayedexpansion
set "str=13 z 113 -3 778 10004 f k a 119 -101 8 -19 m"
for %%a in (%str%) do (
        if %%a lss a (
        set "var=!var!%%a "
        set str=!str: %%a=!
)
)
for %%a in (%var%) do (
        set str1=0000000000%%a
        set .!str1:~-10!=a
)
for /f "delims=.=" %%i in ('set .') do (
        for /f "tokens=* delims=0" %%a in ("%%i") do set/p= %%a<nul&set %%a=A
)
for %%a in (%str%) do (
        if not defined %%a (
        set str2=0000000000%%a
        set #!str2:~-10!=a
)
)
for /f "delims==#" %%i in ('set #') do (
        for /f "tokens=* delims=0" %%a in ("%%i") do set/p= %%a<nul
)
很繁琐,只能做到如此程度了,完全是抄袭的~ - -||

   此帖被 +15 点积分         点击查看详情   
评分人:【 bat-zw 分数: +15  时间:2008-5-21 18:24




心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-5-21 17:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qdloverr
初级用户





积分 97
发帖 33
注册 2007-3-5
状态 离线
『第 18 楼』:  

for /f "tokens=1-14" %%a in ("13 z 113 -3 778 10004 f k a 119 -101 8 -19 m") do echo %%k %%m %%d %%l %%a %%c %%j %%e %%f %%i %%g %%h %%n %%b
pause

pause
最苯,最简单的方法
排下版就行了....................
哈哈 表骂偶

[ Last edited by qdloverr on 2008-5-21 at 06:27 PM ]

2008-5-21 18:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 19 楼』:  

加分以鼓励.



批处理之家新域名:www.bathome.net
2008-5-21 18:25
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 20 楼』:  



  Quote:
Originally posted by zw19750516 at 2008-5-21 06:25 PM:
加分以鼓励.

前辈加错分了啊! 我都说过是抄袭的了~ 以前有过这样一关于排序的贴子啊,貌似是terse前辈的~



心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-5-21 18:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 21 楼』:  我是新手,可以加分吗

@echo off&setlocal enabledelayedexpansion

set str= 13 z 113 -3 778 10004 f k a 119 -101 8 -19 m

for %%a in (%str%) do (
        if %%a lss 999999 set cc=/%%a
        if %%a lss 99999 set cc=//%%a
        if %%a lss 9999 set cc=//%%a
        if %%a lss 999 set cc=///%%a
        if %%a lss 99 set cc=////%%a
        if %%a lss 9 set cc=/////%%a
        if %%a lss 1 set cc=/%%a
        if not %%a lss 999999 set cc=/%%a
        set bb!cc!=1
)

FOR /f "tokens=1 delims= " %%i IN ('SET bb ^| SORT /r') DO (
        SET abc=%%i
        SET abc=!abc:*/=!
        SET abc=!abc:/=!
        SET abc=!abc:~0,-2!
        set ok=!abc! !ok!
)
echo. & echo 原数组:!str! & echo 排序输出:!ok!

pause



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-1-1 06:51
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 22 楼』:  不好意思,再精简一下

@echo off&setlocal enabledelayedexpansion

set str= 13 z 113 -3 778 10004 f k a 119 -101 8 -19 m

for %%a in (!str!) do (

if %%a geq a (set cc=/%%a) else set cc=///////////%%a
  set cc=!cc:~-10!
  set bb!cc!=1
)

FOR /f "tokens=1 delims= " %%i IN ('SET bb') DO (
        SET abc=%%i
        SET abc=!abc:*/=!
        SET abc=!abc:/=!
        SET abc=!abc:~0,-2!
        set ok=!ok! !abc!
)
echo. & echo 原数组:!str! & echo 排序输出:!ok!

pause

2009-1-2 00:07
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: