| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 721 人关注过本帖
标题:一次又一次的出错......
只看楼主 加入收藏
luojia86
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2008-4-6
结帖率:100%
收藏
 问题点数:0 回复次数:8 
一次又一次的出错......
公鸡5元每只,母鸡3元每只,小鸡0.5元每只,现有100元钱用来买100只鸡,请问有几种选择,第种选择是怎么组合的?
  我的原来代码:
    dim i%,j%,k%
    i+j+k=100
    5*i+3*j+0.5*z=100
   print "i=";i  "j=";j   "k=";k
运行时却老是提示出错,还请VB高手们指点指点,在下将不胜感激.....
搜索更多相关主题的帖子: 不胜感激 
2008-04-08 15:08
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
得分:0 
这是一道小学的奥数题。你先看看解法,找到方法后再用vb来实现。

2008-04-08 19:29
wymhhu
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-4-8
收藏
得分:0 
可以的吧,,只有一种组合
2008-04-08 20:15
hack214
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-4-8
收藏
得分:0 
我编了一个!!可以运行!!
Private Sub Command1_Click()
Dim i As Double
Dim j  As Double
Dim k As Double
For j = 0 To 100
k = (400 - 2 * j) / 4.5
If InStr(k, ".") <> 0 Then
Else
If j + k <= 100 Then
i = 100 - j - k
If 5 * i + 3 * j + 0.5 * k = 100 Then
MsgBox "发现一个组合,公鸡个数为:" & i & "母鸡的个数为:" & j & "小鸡的数目为:" & k
End If
End If
End If
Next
End Sub
收到的鲜花
  • luojia862008-04-09 08:41 送鲜花  2朵   附言:我很赞同
2008-04-08 21:01
论坛元老
Rank: 1
等 级:新手上路
帖 子:812
专家分:0
注 册:2008-3-31
收藏
得分:0 
回复 4# 的帖子
的确不错

怎么不可以用Discuz代码呢!
2008-04-09 10:51
luojia86
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2008-4-6
收藏
得分:0 
请写注释啊
其中的 for j=0 to 100
       k=(400-2*j)/4.5
      if instr(k,".")<>0 then
      else
      
         
     以上代码还不明白是什么意思,还希望高手们能够注释出来哈,谢谢了!有机会请你们吃雪高哈.
2008-04-09 21:08
wf271919052
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-3-1
收藏
得分:0 
应该是循环
2008-04-10 09:56
wf271919052
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-3-1
收藏
得分:0 
应该是循环
2008-04-10 09:56
hack214
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-4-8
收藏
得分:0 
因为i+j+k=100与5 * i + 3 * j + 0.5 * k = 100可以构成一个方程组,但是有3个未知数,这个直接是算不出结果的。可先替换一个,i=100-j-k,把i代入第二个方程式,就只剩下j和k了,变换一下,再化简一下,就成了4.5k+2j=400.再化简 k=(400-2*j)/4.5,因为j不可能大于100,j可能是0到100之间的某个数,所以要建立一个循环.
for j=0 to j=100
......
next
循环时j的值就有了,而且是整数。
 通过k=(400-2*j)/4.5,可以得出k的值,因为k可能不是整数,我们不可能买半个母鸡吧!
所以要把k类型声明为double类型,若k不是整数,那么是浮点型的,一定有个"."符合吧,这个组合不能取。
  if instr(k,".")<>0 then
  不符合,不是整形
  else
  符合,是整形
  然后再求出i的值,若i+j+k=100,那么一定符合要求了!!
  end if
上面写的很详细,不知道楼主明白了没有!!
收到的鲜花
  • luojia862008-04-10 11:48 送鲜花  2朵   附言:我很赞同
2008-04-10 10:34
快速回复:一次又一次的出错......
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014933 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved