中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-11 05:58
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]VBS用Do...While 解决百鸡百元问题,输出失败. 查看 880 回复 3
楼 主 [已结]VBS用Do...While 解决百鸡百元问题,输出失败. 发表于 2009-01-07 16:43 ·  中国 福建 福州 电信
新手上路
积分 6
发帖 6
注册 2008-12-14 08:50
17年会员
UID 133827
性别 男
状态 离线
【问题】: 公鸡1只5元,母鸡1只3元,小鸡3只1元
求百只鸡总价刚好是100元的所有组合
我用For是输出正解4 ,但采用Do. while ...loop 输出0。请大家帮我看下
难道我格式写错了? 还是do..while不支持嵌套?

【代码】
' 利用Do...loop 解决百鸡问题 : 百只鸡总价百元的所有组合
dim cock,hen,chick,count
cock=0 '公鸡
hen=0 '母鸡
chick=0 '小鸡
count=0 '所有解

do while cock<20 '公鸡
do while hen<33 '母鸡
do While chick<100 '小鸡
if cock*5+hen*3+chick*1/3=100 and chick+hen+cock=100 then
count=count+1
end if
chick=chick+1
loop
hen=hen+1
loop
cock=cock+1
loop
msgbox(count)


[ Last edited by HAT on 2009-1-7 at 21:34 ]
2 发表于 2009-01-07 17:00 ·  中国 湖北 荆门 电信
初级用户
★★
积分 186
发帖 117
注册 2006-08-14 14:50
19年会员
UID 60491
状态 离线
内层循环重新开始后没有初始化变量为0
3 发表于 2009-01-07 17:11 ·  中国 湖北 荆门 电信
初级用户
★★
积分 186
发帖 117
注册 2006-08-14 14:50
19年会员
UID 60491
状态 离线
dim cock,hen,chick,count
cock=0 '公鸡
hen=0 '母鸡
chick=0 '小鸡
count=0 '所有解

do while cock<20 '公鸡
do while hen<33 '母鸡
do While chick<100 '小鸡
if cock*5+hen*3+chick*1/3=100 and chick+hen+cock=100 then
count=count+1
end if
chick=chick+1
loop
hen=hen+1
chick = 0

loop
cock=cock+1
chick=0
hen=0

loop
msgbox(count)


没看你的代码,就加了两句初始化的代码.
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
HAT +2 2009-01-07 21:34
4 发表于 2009-01-07 18:34 ·  中国 福建 福州 电信
新手上路
积分 6
发帖 6
注册 2008-12-14 08:50
17年会员
UID 133827
性别 男
状态 离线
非常感谢! 看来我还是太马虎了 !
论坛跳转: