【隐身守候】
2020-06-02 00:52
采纳率: 100%
浏览 113

c语言初学者,请各位大佬帮忙!!!

我国古代数学家在《算经》中出了一道题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?”意为公鸡4吊钱1只,母鸡3吊钱1只,3只小鸡值1吊钱。编程实现用100吊钱买100只鸡,公鸡、母鸡、小鸡每种鸡至少一只,有多少种买法?(2)
Private Sub command1_Click()
Dim a%, b%, c%, s%
FontSize = 14: FontBold = True
Print: Print: Print
s = 0
For a = 1 To 20
For b = 1 To 34

If 4 * a + 3 * b + c / 3 = 100 Then s = s + 1
Next b
Next a
Print s
End Sub

要将一张100元的大钞票,换成等值的10元、5元、2元和1元一张的小钞票。要求每次换成50张小钞票,每种至少一张。编程求有多少种换法。(26)
Private Sub Command1_Click()
Dim i, j, k, m As Integer
Dim RMBsum As Integer
FontSize = 14: FontBold = True
For i = 1 To 9
For j = 1 To 17
For k = 1 To 37
m = 50 - i - j - k
If Then RMBsum = RMBsum + 1
Next k, j, i
Print RMBsum
End Sub

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • threenewbee 2020-06-02 09:48
    已采纳
    #include <stdio.h>                                                                      //引用头文件
    int main()
    {
        int cock,hen,chick;                                                //定义公鸡,母鸡,小鸡三个变量
        int n = 0;
        for(cock=1;cock<=20;cock++)                                                //公鸡的范围在0 ~ 20之间;
            for(hen=1;hen<=33;hen++)                                               //母鸡的范围在0 ~ 33之间;
                for(chick=1;chick<=99;chick++)                                 //小鸡的范围在3 ~ 99之间
                    if(cock*15 + hen*9 + chick==300)                  // “百钱问题”
                        if(cock+hen+chick==100)                //“百鸡问题”
                        {
                            printf("公鸡:%d,母鸡:%d,小鸡:%d\n",cock,hen,chick);  //输出结果!
                            n++;
                        }
        printf("%d", n);
    }
    

    公鸡:4,母鸡:18,小鸡:78
    公鸡:8,母鸡:11,小鸡:81
    公鸡:12,母鸡:4,小鸡:84
    3

    应该是3种,而不是2。

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        int x3,x2,x1,x;
        int n = 0;
        for(x3=1;x3<=10;x3++)
        {
            for(x2=1;x2<=20;x2++)
            {
                for(x1=1;x1<=50;x1++)
                {
                    for(x=1;x<=100;x++)
                    {
                        if((x3*10+x2*5+x1*2+x==100)&&(x3+x2+x1+x==50))
                        {
                            printf("%d\t%d\t%d\t%d\n",x3,x2,x1,x);
                            n++;
                        }
                    }
                }
            }
        }
        printf("%d\n", n);
    }
    
    

    1 1 37 11
    1 2 33 14
    1 3 29 17
    1 4 25 20
    1 5 21 23
    1 6 17 26
    1 7 13 29
    1 8 9 32
    1 9 5 35
    1 10 1 38
    2 1 28 19
    2 2 24 22
    2 3 20 25
    2 4 16 28
    2 5 12 31
    2 6 8 34
    2 7 4 37
    3 1 19 27
    3 2 15 30
    3 3 11 33
    3 4 7 36
    3 5 3 39
    4 1 10 35
    4 2 6 38
    4 3 2 41
    5 1 1 43
    26

    问题解决的话,请点下采纳

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题