中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] [3] [4] »
作者:
标题: [求助]文本输出~ 上一主题 | 下一主题
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 16 楼』:  

说你是马甲=。=

2008-5-7 19:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


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



  Quote:
Originally posted by 26933062 at 2008-5-7 19:44:
回复 12 楼
不好意识,答案仍不正确,可能是我描述的不够清楚吧。
每个字母的正上方不能是空格。
这么说吧
随机生成第一个字母,比如说是a就把 ...

做到这点并不难,把我12的代码稍做修改就可以实现,但难的是这样就难以满足字符总数为60的要求了,如当第一行的字符仅为一个a时,代码如下:
@echo off&setlocal enabledelayedexpansion
set "str=ab"&set /a a=%random%%%60+1
:begin
set /a b=%random%%%2
set c=!str:~%b%,1!&set var=%var%!c!
set /a n+=1
if %n% lss %a% goto begin
echo 下面为本次生成的字符串:
echo %var%
set "str="&set n=0
:lp
if !n! lss 60 if defined var (
   set /a b=%random%%%2
   if !b! equ 0 (
      set "b= "
      ) else (
      set b=!var:~,1!&set /a n+=1
   )
   set str=%str%!b!
   set var=%var:~1%
   goto lp
)
echo.%str%
if !n! lss 60 set var=%str%&set str=&goto lp
pause>nul




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





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 18 楼』:  

呵呵,看来是我的描述出了大问题了。
结果中第一行的字符永远不会比第二行少,第二行永远不会比第三行少。。。。。。。。



致精致简!
2008-5-7 21:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


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

老实说,我是真被你搞晕头了,要不劳兄弟写出代码来吧!



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





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 20 楼』:  

有这么难理解吗?
老实说,看顶楼的样本应该就知道了,只是把a和b的总数定为60个而以,
zw19750516 兄写的几个代码有哪个是输出顶楼格式的?



致精致简!
2008-5-7 21:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


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

那是我理解不好,就请兄弟写出代码来看看吧!



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




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

ababababababababa
xbxbxxabaxxbaxxxa
xbxxxxaxaxxbaxxxx
xxxxxxaxaxxbaxxxx
xxxxxxxxaxxbxxxxx
xxxxxxxxxxxbxxxxx

x代表空格
比如第一行的第2个字符是b 到了第四行时第2个字符成了空格。。。 到了第5行的第二个字符 也必须是空格 如果是在第三行时变成空格,那以后的行,第二的位置上也必须是空格
不知我这样说 能否明白~~^_^

2008-5-7 22:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 23 楼』:  

领会错误  删贴

[ Last edited by terse on 2008-5-7 at 11:10 PM ]



简单!简单!再简单!
2008-5-7 22:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


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



  Quote:
Originally posted by pusofalse at 2008-5-7 22:21:
ababababababababa
xbxbxxabaxxbaxxxa
xbxxxxaxaxxbaxxxx
xxxxxxaxaxxbaxxxx
xxxxxxxxaxxbxxxxx
xxxxxxxxxxxbxxxxx

x代表空格
比如第一行的第2个字符是b 到了第四行时第2个字符 ...

如是这样,请运行我17的代码。



批处理之家新域名:www.bathome.net
2008-5-7 22:24
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 25 楼』:  

希望可以换个90的思维……问题就简单些了……

2008-5-7 22:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




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



  Quote:
Originally posted by zw19750516 at 2008-5-7 10:24 PM:

如是这样,请运行我17的代码。

嗯,如果是没有个数限制的情况下确实是这样。。。但是真是不好意思~ 我刚才又忘记说了,ab个数加起来要等于60

各位前辈的执着与钻研精神 真是佩服至极!

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

永远的学习者


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

&&那我只能说这道题目出得有问题了,要同时满足随机生成字符串和递减输出以及输出字符总数(不包括原始字符串和空格)为60个这三个条件是很难做到的。
  这要看第一:原始生成的字符串字符数多不多,如生成只一个字符的原始字符串看誰能保证以后59行每行都不生成空格。
  还要看第二:每行生成的空格数多不多了,如果在第一行就生成了30个以上的空格,输出字符总数为60个的条件怕是难以保住了吧。



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





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 28 楼』:  

回复23楼 terse
你的代码也不对,每行的横向是不可能出现重复字母的,比如 bb或aa 应该是abababab 或 bababa 并且你的代码好像会显示很多多余的空行。。
a和b的总数是60个,但哪个位置是a哪个位置是b不是确定的,是随机的。
但左右相邻的是不能重复,比如 bb 就不行,除非是b空格b,但第一行是不能有空格的。而所有的纵向是必须一样的。



致精致简!
2008-5-7 23:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




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

解铃还需系铃人。。。 到批处理之家看看吧,但貌似现在还没有给出源码,那里的版主也是超强的,只是没有时间上网而已

2008-5-7 23:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 30 楼』:  

算法问题……我想论坛里高手还是可以解决的。

a和b总共60个?你给的输出貌似不够吧?

2008-5-7 23:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] [4] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: