![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 12:15 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]文本输出~ |
| 可打印版本 3,003 / 47 |
| 第31楼 26933062 | 发表于 2008-05-07 23:33 |
| 银牌会员 发帖 879 积分 2,268 | |
|
看来我的表达能力是大有问题。
再来一次 要求生成一个文本文件,内容是a和b及空格,但是a和b的总数是60个。 第一行不能有空格,且必须是ababab这样交错的,不能是bba或aab这样的 举例: 假设得到的第一个随机字母是a,那么就把a写入b.txt 再获取第二个随机字母,假设又是a,则写入到前面得到的a的下面。如果得到的是b。则写入到b.txt的第一行,就是和第一个a并排。 继续获取随机字母,再判断它和上一个字母是否相同,如果相同则写入到上一个字母的正下方,注意:“是上一个字母”,否则就写入到第一行, 那么这样得到的最终结果,就会是以下格式的文本。 |
|
| 第32楼 slore | 发表于 2008-05-07 23:39 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
我说下我的思路~
abflag="sloreissloreleeandsloreleeisslorehahailovedoscndosgood" 随机生成一个数表示行~比如12 然后生成 abababababab做第一行ab=12 后面开始: i=i+1 if abflag的i%12位是" " 看是奇数还是偶数直接输出a或者b,ab+=1 i%2…… 奇数就a或" "……随机下 if 是" "就abflag的i位换" " else 那就是a了呗,哦对了~ab+=1 偶数就b或" "……再随机 if 是" "就abflag的i位换" " else 那就是b了呗,哦对了~ab+=1 i%12自己处理是不是要换行了呀~ 恩,ab=60啦~88 自己看这样的伪代码能看懂不嗬~不懂就当标记了下…… 对P处理文字不感冒没有兴趣=。= [ Last edited by slore on 2008-5-7 at 11:49 PM ] |
|
| 第33楼 slore | 发表于 2008-05-08 00:19 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
顺便把歪掉脑袋~~的思路题下……
随机要a还是b开始?x=a?b 随机个行数比如8 k=60-8 循环开始 随机生成小于等于k的数i(k=k-i) 连续生成i个x 随机生成小于等于k的数i(k=k-i) 连续生成i个x反(x是a那么x反就是b) 如果循环次数到第7次了……剩下的k个全输出…… 如果k=0了结束…… 这样是会生成一个 8行内的52字符…… 假使a开始…… 第一次随机是8 循环中第一次生成了个9 输出 aaaaaaaaa 然后循环生成5 bbbbb 在循环生成0 再循环生成4 bbbb 再循环生成8 aaaaaaaa 循环生成0 循环生成12 aaaaaaaaaaaa 7次循环了还没有够60哇? 剩下14个给你咯 bbbbbbbbbbbbbb 结果: 行列转换的代码论坛有吧? 转制后输入到b.txt 然后输出: babababa type b.txt 这个似乎麻烦了?哪个快就不知道了…… 如果不转的话,生成的代码这个是最容易的…… |
|
| 第34楼 moniuming | 发表于 2008-05-08 10:52 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
|
我来一个,这个代码会由于a和b的数量不足60个而显示ECHO 处于关闭状态(只能叉掉才能停止,汗...,希望高手改进),因水平有限第一行的字符数量都是双数(唉,再次汗...),当然也可以为单,只因太牵强,故不为之.没有所谓的算法,只有一点点想法,即把下一行的对应位置的字符和上一行的进行比较,如果不同,则用空格代替,期望高手能给出更高效简洁的代码(最好能把算法讲一讲以便新手及吾等菜鸟学习).
|
|
| 第35楼 26933062 | 发表于 2008-05-08 11:15 |
| 银牌会员 发帖 879 积分 2,268 | |
|
上帝!总算有一个明白题意的了,代码确实存在bug,而且b和a好像不太随机,要求的是每一个a或b都是随机得到的。。
也不错了,加分鼓励。。 |
|
| 第36楼 moniuming | 发表于 2008-05-08 11:22 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
而且b和a好像不太随机 set "code=ab" set f=%random%%%2 call set g=%%code:~%f%,1%% 这样不算随机吗 |
|
| 第37楼 26933062 | 发表于 2008-05-08 12:01 |
| 银牌会员 发帖 879 积分 2,268 | |
|
也是哦,应该是随机的,只是开始看你的结果怎么有这么多字母,应该总数60个才对啊。
|
|
| 第38楼 moniuming | 发表于 2008-05-08 12:53 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
|
强烈要求26933062老大将代码贴出来
|
|
| 第39楼 slore | 发表于 2008-05-08 17:09 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
[ Last edited by slore on 2008-5-8 at 05:19 PM ] |
|
| 第40楼 moniuming | 发表于 2008-05-08 17:56 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
|
先删掉,汗
[ Last edited by moniuming on 2008-5-8 at 06:27 PM ] |
|
| 第41楼 slore | 发表于 2008-05-08 18:06 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
……
你的代码貌似不是固定输出格式? 而且md,rd=。=造文件夹是…… |
|
| 第42楼 26933062 | 发表于 2008-05-08 19:30 |
| 银牌会员 发帖 879 积分 2,268 | |
|
39楼格式是对了,但初看你的列数都是可以自定义的啊?那a和b岂不是就不是随机的了?若每一个a和b都是随机的,那么列数是不可能预知的。
|
|
| 第43楼 moniuming | 发表于 2008-05-08 19:47 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
你的代码貌似不是固定输出格式? 因为我无法控制输出的字符个数,当超出范围会显示"ECHO 处于关闭状态",所以只能造文件夹来确定变量是否为空格(即如果可以造文件夹,则继续输出,否则退出) [ Last edited by moniuming on 2008-5-8 at 08:08 PM ] |
|
| 第44楼 26933062 | 发表于 2008-05-08 20:59 |
| 银牌会员 发帖 879 积分 2,268 | |
|
汗啊!
我只是觉得自己这段代码平均要把loop标签运行30次左右,效率不太高,想寻求更高效点的代码,没想到引发40几楼的回帖,居然大部分是搞不清题意的。表达能力实在是差到极点,相信此帖已经没法引起其他高手的兴趣了。唉。。。 还是用代码来说明问题吧,为了显示美观我把a和b替换成了两个其它符号,看起来更清楚。 代码如下: |
|
| 第45楼 slore | 发表于 2008-05-08 21:01 |
| 铂金会员 发帖 2,478 积分 5,212 | |
Originally posted by 26933062 at 2008-5-8 19:30: 那就仔细看... 自定义也没有啥稀奇的……因为随机结果不一定很理想…… 如果随出个1! 那就是60个a一列了…… 谁叫这个问题你叙述的也怪怪的……
每一个a和b都是随机的…… 你这样随机了? 你的第一行就是最大列数…… 我的是这个样子的…… 如果不修改默认slore的话~列数和最大值都采用随机设置…… 除了第一行剩下的都是random……的…… |
|
| 上一页 1 2 3 4 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |