作业帮 > 综合 > 作业

vb编程题:解决古代数学问题“鸡兔同笼”.已知在同一个笼子里有总数为m只鸡和兔,鸡和兔的总脚数为n只,

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/09 19:08:38
vb编程题:解决古代数学问题“鸡兔同笼”.已知在同一个笼子里有总数为m只鸡和兔,鸡和兔的总脚数为n只,
求鸡兔各多少.我是初学者,写了如下代码
Private Sub Form_Click()
Dim m%,n%,x%,y%
m = Val(InputBox("请输入鸡和兔的总数:"))
n = Val(InputBox("请输入鸡和兔的总脚数:"))
y = (n - 2 * x) / 4
x = m - y
Print "鸡的数目:"; x; "兔的数目:"; y
End Sub
但是算出来的结果和我手算的不同,我不知哪里错了,还有请别那么复杂的说,我只学了顺序结构,没学选择和其他结构.
你dim定义了x,但是你自己又没给一个初始值,vb默认会得出x=0,所以下面的计算,y = (n - 2 * x) / 4和x = m - y都是错误的.
再问: 不好意思,我比较笨,请问那个怎样给个初定值,我本来就不知道x多少啊。
再答: 我的意思是说,你的解法里面用到了x,但是x是个不确定的数,所以你的解法需要改进。你先把你的笔算方法转为书面语言,然后处理为算法,再写vb代码,这样就不会出现使用一个未知数的情况了。 我猜你的算法类似于,假设都是鸡,所以总脚数是2*m,多出的脚数n-2*m表示兔子带来的脚,兔子共(n-2*m)/2;所以鸡有m-(n-2*m)/2只 代码是这样的 Private Sub Form_Click() Dim m%, n%, x%, y% m = Val(InputBox("请输入鸡和兔的总数:")) n = Val(InputBox("请输入鸡和兔的总脚数:")) y = (n - 2 * m) / 2 x = m - y Print "鸡的数目:"; x; "兔的数目:"; y End Sub