| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 961 人关注过本帖
标题:100元买100只鸡问题
只看楼主 加入收藏
me100422
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-12-13
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:10 
100元买100只鸡问题
100元买100只鸡,母鸡每只5元,公鸡每只3元,小鸡每3只1元,请问能买多少只母鸡,多少只公鸡,多少只小鸡?
用了下面的程序 不知道为什么没有输出结果
#include<iostream>
using namespace std;
int main()
{
    int x=0,y=0,z;
    while(x<=20)
    {
        while(y<=33)
        {
            z=(100-5*x-3*y)/3;
            
        
            if((x+y+z)==100)
            {
                cout<<x<<endl;
                cout<<y<<endl;
                cout<<z<<endl;
            }
            y++;
        }
        x++;
    }

    return 0;
}
搜索更多相关主题的帖子: include 
2013-09-05 23:41
未未来
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:182
专家分:157
注 册:2012-11-6
收藏
得分:4 
程序代码:
while(y<=33)
        {
            z=(100-5*x-3*y)/3;
            
        
            if((x+y+z)==100)
            {
                cout<<x<<endl;
                cout<<y<<endl;
                cout<<z<<endl;
            }
y=0;//这个地方要把y归于0吧  但是我试了 还是没有输出,这题目无解???
            y++;


[ 本帖最后由 未未来 于 2013-9-6 00:28 编辑 ]
2013-09-05 23:56
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:4 
因为算法错了,所以无解

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-09-06 10:33
未未来
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:182
专家分:157
注 册:2012-11-6
收藏
得分:0 
程序代码:
#include<iostream>
using namespace std;
int main(){
int x=0,y=0,z=0;
while(z<=300){
    int m=z/3;
    while(x<=20){
            while(y<=33){
        if(5*x+3*y==(100-m)&&x+y+z==100){
            cout<<x<<endl;
            cout<<y<<endl;
            cout<<z<<endl;
            cout<<endl;
            }
            ++y;
}
y=0;
++x;
}
x=0;
z+=3;
}
return 0;
}

这个是我写,
2013-09-06 11:10
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:4 
大约这个样子就差不多了
程序代码:
#include<iostream>

using namespace std;

int main()
{
    int x=0,y=0,z;
    for(x=1;x<=20;x++)
    {
        for(y=1;y<=33;y++)
        {
            z=(100-5*x-3*y)*3;
            if((x+y+z)==100 && z>0)
            {
                cout<<x<<"+"<<y<<"+"<<z<<"="<<x+y+z<<endl;
            }
         }
     }
   
    return 0;
}



DO IT YOURSELF !
2013-09-06 11:14
c10868
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2013-9-5
收藏
得分:4 
经测试4楼和5楼的都行 4楼的多了一组 0 25 75的结果
2013-09-06 15:00
小男孩的围裙
Rank: 2
等 级:论坛游民
帖 子:15
专家分:32
注 册:2013-4-24
收藏
得分:4 
4楼是正确的,5楼有些细节没注意。
2013-09-06 20:25
小男孩的围裙
Rank: 2
等 级:论坛游民
帖 子:15
专家分:32
注 册:2013-4-24
收藏
得分:0 
4楼是正确的,5楼有些细节没注意。
5楼  int x=0,y=0,z;
但是在  for里又把1赋值给了x和y,导致当x=0的时候的情况未能出现。
把for(x=1;x<=20;x++)和for(y=1;y<=33;y++)改一下,改成for(x=0;x<=20;x++)和for(y=0;y<=33;y++),
这样所得到的答案就完整了。和4楼的答案一样。
2013-09-06 20:31
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
这道题目里 0的答案是不能考虑的

DO IT YOURSELF !
2013-09-07 08:30
c10868
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2013-9-5
收藏
得分:0 
我是新手,4和5楼的解答堪称while和for循环的经典。一晚上无聊,经过几次的实践最后终于学会了二种方法。
重点是花括号的应用。
个人感觉for循环比while更加实用。
2013-09-16 23:00
快速回复:100元买100只鸡问题
数据加载中...
 
   



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

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