标题:又来求助 几位帅哥美女麻烦你们看看
只看楼主
我是毅哥
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2010-12-8
结帖率:100%
已结贴  问题点数:10 回复次数:9 
又来求助 几位帅哥美女麻烦你们看看
五本书,三个人,每人只能拿其中一本,问有多少种方案?
#include<stdio.h>                                         
int main()
{
    int a,b,c,d=0;
    for(a=0;a<5;a++)
    for(b=0;b<5;b++)
    for(c=0;c<5;c++)
    if(a!=c&&b!=c&&a!=c) d++;
    printf("%d\n",d);
    system("pause");
    return 0;
}



#include<stdio.h>
int main()
{
    int a,b,c,d=0;
    for(a=0;a<5;a++)
    for(b=0;b<5;b++)
    for(c=0;b!=a&&c<5;c++)
    if(a!=c&&b!=c&&) d++;
    printf("%d\n",d);
    system("pause");
    return 0;
}




我感觉它的限制条件都是一样的,但是为什么输出来的结果却不一样的呢···求助
搜索更多相关主题的帖子: 美女 帅哥 麻烦 
2010-12-08 11:58
Mr黑绵羊
Rank: 2
等 级:论坛游民
帖 子:24
专家分:30
注 册:2010-12-7
得分:0 
刚学几个月,不知 system("pause");是神马意思......
2010-12-08 12:06
我是毅哥
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2010-12-8
得分:0 
回复 2楼 Mr黑绵羊
呃····我听老师说用它可以防止窗口一弹而闪的情况而已
2010-12-08 12:11
liliyi121
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-12-8
得分:0 
运行结果做一个统计。就知道了 你的程序应该没问题
2010-12-08 12:25
我是毅哥
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2010-12-8
得分:0 
回复 4楼 liliyi121
运行过了,但是两次的结果都不一样,所以我觉得很奇怪,限制条件都一样吖
2010-12-08 12:26
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
得分:5 
注意
if(a!=c&&b!=c&&a!=c) d++;

你的a!=c条件重复了,显然你是错写了a!=b

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-12-08 12:28
gaochizhen33
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:114
专家分:101
注 册:2010-11-4
得分:5 
楼主没看清楚吧 限制条件是不一样的
if(a!=c&&b!=c&&a!=c) d++;
这是第一个的 没有a!=b啊
for(c=0;b!=a&&c<5;c++)
    if(a!=c&&b!=c&&) d++;

这是第二个的能够保证abc各不相等

2010-12-08 12:28
我是毅哥
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2010-12-8
得分:0 
回复 6楼 御坂美琴
啊  是吖  原来是我错写了   谢谢吖怪不得结果老是不样
2010-12-08 12:32
我是毅哥
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2010-12-8
得分:0 
回复 7楼 gaochizhen33
对,原来是这样!谢谢啦····
2010-12-08 12:32
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
得分:0 
我就自己的理解发表一点看法,不对的还望高手指出来
程序代码:
#include<stdio.h>                                        
int main()
{
    int a,b,c,d=0;
    for(a=0;a<5;a++)
    for(b=0;b<5;b++)
    for(c=0;c<5;c++) /*进入循环只需满足c<5*/
    if(a!=c&&b!=c&&a!=c) d++;/*此处应该改成(a!=c&&b!=c&&a!=b)*/
    printf("%d\n",d);
    system("pause");
    return 0;
}



#include<stdio.h>
int main()
{
    int a,b,c,d=0;
    for(a=0;a<5;a++)
    for(b=0;b<5;b++)
    for(c=0;b!=a&&c<5;c++) /*进入循环必须同时满足b!=a和c<5*/
    if(a!=c&&b!=c&&) d++;(此处b!=c后面的&&是什么作用?建议楼主去掉这个再试试)
    printf("%d\n",d);
    system("pause");
    return 0;
}
2010-12-08 12:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-328350-1-1.html




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

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