| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 902 人关注过本帖
标题:for语句的难题
只看楼主 加入收藏
我有我梦
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:321
专家分:1128
注 册:2013-5-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
for语句的难题
题目:马克思曾经做过这样一道趣味数学题:有x个人在一家小饭店里用餐,其中有男人、女人和小孩,每个男人花了3先令,每个女人花了2先令,每个小孩花了1先令,共花去y先令。如果要求男人、女人和小孩都有人参与,试编程求有多少种方案分配男人、女人和小孩的人数。其中x,y的值由键盘输入。
#include <iostream>
using namespace std;
int main()
{
    int i,a,b,c,x,y,N,count;
    cin>>N;
    for(i=1;i<=N;i++)
    {
        cin>>x>>y;
        count=0;
*********************************
                a=y-2*x+c;
            b=3*x-y-2*c;
*********************************
                for(c=1;c<x-1;c++)
        {
        
        //    system("pause");
            if(a>=1&&b>=1)
                count++;
            else continue;
        }
        cout<<count<<endl;
   
    }
        return 0;
}
我将样例输入
2
30 50
20 30
得到的是0 0;
然而我若将 a=y-2*x+c;
                      b=3*x-y-2*c;
放到for循环语句中得到结果是9 4 !!正确!不是说放到for循环语句外是全局变量吗?那么在for语句里应该也能起作用啊!为什么一定要放到for循环语句内才可以得到正确答案呢?难道放到循环for语句外才有a=y-2*x+c; b=3*x-y-2*c;吗?
搜索更多相关主题的帖子: include 趣味数学题 count 女人花 马克思 
2013-06-05 21:23
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
收藏
得分:20 
c的值没有初始化

C++菜鸟
2013-06-05 22:24
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
收藏
得分:0 
你的C值,只在内存for循环 初始化了,所以外面值是不确定的

C++菜鸟
2013-06-05 22:26
我有我梦
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:321
专家分:1128
注 册:2013-5-25
收藏
得分:0 
谢谢你了2楼主!!那我应该在那个地方对c初始化!!
2013-06-05 22:56
我有我梦
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:321
专家分:1128
注 册:2013-5-25
收藏
得分:0 
不过还有就是我将     a=y-2*x+c; b=3*x-y-2*c;放入for循环中也是没有对c初始化的啊!也只是在for循环中初始化了
2013-06-05 23:03
iloveyoub
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-6-6
收藏
得分:0 
领教了!
2013-06-06 01:31
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
收藏
得分:0 
for(c=1;c<x-1;c++)这一个c=1就是变量的初始化。因此你放进for循环里面是不会出错的
for(变量初值;循环条件;表达式)

C++菜鸟
2013-06-06 07:59
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
收藏
得分:0 
你可以在什么变量的时候就对c初始化,即int c=1;

C++菜鸟
2013-06-06 08:03
我有我梦
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:321
专家分:1128
注 册:2013-5-25
收藏
得分:0 
lzj12530说是变量C出了问题,这个的确是的!!!不过不能能在定义C时就对C进行初始化!!!我感觉for循环里的c和mian函数里的c是不同的!!!
2013-06-06 08:22
我有我梦
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:321
专家分:1128
注 册:2013-5-25
收藏
得分:0 
加我QQ1206358260以后好好切磋切磋!!!!
2013-06-06 08:23
快速回复:for语句的难题
数据加载中...
 
   



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

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