VB编程的问题:如何编写百钱买百鸡的程序

如题所述

1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。

2、输入预处理命令和主函数:#include<stdio.h>          /*输入输出头文件*/,void main()           /*空类型:主函数*/。

3、定义变量和输出文字提示: int x,y,z,n=0;           /*定义变量的数据类型为整型*/,printf("买法:\n");        /*输出文字提示*/。

4、确定大公鸡、母鸡、小鸡的数量: for(x=0;x<=19;x++)          /*确定大公鸡数量*/ for(y=0;y<=33;y++)          /*确定母鸡数量*/ { z=100-x-y;          /*确定小鸡数量*/}。

5、判断100个钱是否买了100只鸡。

6、最后校验输出对应结果。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-11

Private Sub Command1_Click()
    '定义攻击、母鸡、小鸡的价格
    a = 5
    b = 3
    c = (1 / 3)

    For i = 1 To 100 \ a
        For j = 1 To 100 \ b
            For k = 3 To 100 Step 3
                If (a * i + b * j + c * k = 100) And (i + j + k = 100) Then

                    Print "公鸡:" + Str(i) + "只、母鸡" + Str(j) + "只、小鸡" + Str(k) + "只"
                End If
            Next
        Next
    Next
End Sub

第2个回答  推荐于2017-10-06
一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少)。
这是一个古典数学问题,设一百只鸡中公鸡、母鸡、小鸡分别为x,y,z,问题化为三元一次方程组:
这里x,y,z为正整数,且z是3的倍数;由于鸡和钱的总数都是100,可以确定x,y,z的取值范围:
1) x的取值范围为1~20
2) y的取值范围为1~33
3) z的取值范围为3~99,步长为3
对于这个问题我们可以用穷举的方法,遍历x,y,z的所有可能组合,最后得到问题的解。

Private Sub Form_Click()
Dim x As Integer, y As Integer, z As Integer
For x = 1 To 20
For y = 1 To 33
For z = 3 To 99 Step 3
If x * 5 + y * 3 + z / 3 = 100 And x + y + z = 100 Then Print "公鸡:" & x, "母鸡:" & y, "小鸡:" & z
Next z
Next y
Next x
End Sub

代码可以简化,思路大致是这样的
结果是:
公鸡:4 母鸡:18 小鸡:78
公鸡:8 母鸡:11 小鸡:81
公鸡:12 母鸡:4 小鸡:84本回答被提问者采纳
相似回答