![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 22:26 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 给新人出的一道字符排序题(加分题): |
| 可打印版本 2,450 / 21 |
| 第1楼 bat-zw | 发表于 2008-05-21 10:22 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
给新人出的一道字符排序题(加分题): 有一组字符:13 z 113 -3 778 10004 f k a 119 -101 8 -19 m
要求通过批处理进行排序输出: -101 -19 -3 8 13 113 119 778 10004 a f k m z 请尽量采用不生成临时文件的办法。 PS:第一个做出来的新人,我加15分。 ---------------------------------------------------------------------------------------------------------- 我的答案: [ Last edited by zw19750516 on 2008-5-21 at 08:19 PM ] |
|
| 第2楼 bat-zw | 发表于 2008-05-21 12:05 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
晕,我是出给新人做的!让大家活跃下思维啊。
|
|
| 第3楼 jia332 | 发表于 2008-05-21 12:51 |
| 初级用户 发帖 81 积分 160 | |
|
@echo on
set var=13 z 113 -3 778 10004 f k a 119 -101 8 -19 m for /f %%a in ('%var%') do ( set /a var1=%%a,var2=%%b, var3=%%c,var4=%%d,var5=%%e,var6=%%f,var7=%%g,var8=%%h, /a var9=%%i,var10=%%j,var11=%%k,var12=%%l,var13=%%m,var14=%%n ) echo %var11% %var13% %var4% %var12% %var1% %var3% %var10% %var5% %var6% %var9% %var7% %var8% %var14% %var2% pause 为什么这样取不出值, 请高手指点 [ Last edited by jia332 on 2008-5-21 at 12:53 PM ] |
|
| 第4楼 bat-zw | 发表于 2008-05-21 12:55 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
1 你的代码有误:连续set赋值时之间只能用&格开,如set a=1&set b=2。
2 象这样不如直接:echo -101 -19 -3 8 13 113 119 778 10004 a f k m z |
|
| 第5楼 jia332 | 发表于 2008-05-21 12:58 |
| 初级用户 发帖 81 积分 160 | |
|
set /a a=1+1,b=2+1,c=3+1
echo %a% %b% %c% 问什么这样就可以,zw19750516能否教小弟一下 |
|
| 第6楼 terse | 发表于 2008-05-21 13:06 |
| 银牌会员 发帖 946 积分 2,404 | |
|
我把前面发的改一下应该就可以
|
|
| 第7楼 bat-zw | 发表于 2008-05-21 13:11 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
请terse兄留给新人多思考啊
|
|
| 第8楼 clian76 | 发表于 2008-05-21 13:17 |
| 中级用户 发帖 162 积分 363 | |
|
太难了..
|
|
| 第9楼 terse | 发表于 2008-05-21 13:32 |
| 银牌会员 发帖 946 积分 2,404 | |
Originally posted by zw19750516 at 2008-5-21 13:11: 所以我没发出来 这两天股票跌S我 没心情了 还是去看一会盘面 |
|
| 第10楼 zlmjh | 发表于 2008-05-21 14:01 |
| 新手上路 发帖 2 积分 4 | |
|
我怎么不会呀
|
|
| 第11楼 jmz573515 | 发表于 2008-05-21 14:41 |
| 银牌会员 发帖 464 积分 1,212 | |
|
我只能写成这样了...
|
|
| 第12楼 26933062 | 发表于 2008-05-21 14:43 |
| 银牌会员 发帖 879 积分 2,268 | |
|
作的出这个题的,最多只是论坛新人,绝不会是批处理新人。
|
|
| 第13楼 bat-zw | 发表于 2008-05-21 15:01 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
同意兄的说法,其实我的最终目的还是让论坛能活跃起来。
ps:jmz573515的代码还可以简化。 |
|
| 第14楼 bat-zw | 发表于 2008-05-21 16:04 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
提示: &&可直接用比较大小的方法,排序时请注意字符的定位和唯一性。
|
|
| 第15楼 pusofalse | 发表于 2008-05-21 17:01 |
| 银牌会员 发帖 646 积分 1,604 | |
|
我的思路。。。
先提取出数字,并分别赋予变量,set自动排序 然后判断哪些没有被赋予变量,没有被赋予的就是字母,同上,set第二次排序。。 或者新建文件,分别以这些字母命名,然后dir /b o:n 输出命令结果~ |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |