| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 430 人关注过本帖
标题:这个排序,怎么去实现,求教:::
只看楼主 加入收藏
tpengti
Rank: 2
等 级:论坛游民
帖 子:75
专家分:18
注 册:2010-5-9
结帖率:65.22%
收藏
已结贴  问题点数:10 回复次数:2 
这个排序,怎么去实现,求教:::
ABCDE  代表五个人
以下他们分别说的话 :
A说:B2     A3  
B说:B2     E4
C:C1     D2
D:C5     D3
E:E4     A1  
  
就是他们参加比赛后说的话  
 比如:A说B是第二,A是第三  他们每个人的话中只有一半是正确的    大家说说思路   呵呵  用C语言怎么实现排序
搜索更多相关主题的帖子: C语言 
2011-03-17 22:53
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:5 
lz有学过离散数学吗

免费赠送河蟹一只
2011-03-17 23:00
njkido
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:224
专家分:1184
注 册:2011-3-8
收藏
得分:5 
穷举?貌似效率最低
程序代码:
    int a,b,c,d,e;

    for(a=1;a<=5;a++)
    {
        for (b=1;b<=5;b++)
        {
            if (b == a) continue;
            for (c=1;c<=5;c++)
            {
                if (c == a || c == b) continue;
                for (d=1;d<=5;d++)
                {
                    if (d == a || d == b || d == c) continue;
                    for (e=1;e<=5;e++)
                    {
                        if (e == a || e == b || e == c || e == d) continue;
                        if (
                               ( (b==2&&a!=3) || (b!=2&&a==3) )
                            && ( (b==2&&e!=4) || (b!=2&&e==4) )
                            && ( (c==1&&d!=2) || (c!=1&&d==2) )
                            && ( (c==5&&d!=3) || (c!=5&&d==3) )
                            && ( (e==4&&a!=1) || (e!=4&&a==1) )
                            )
                        {
                            printf("名次:\n   a---%d  b---%d c---%d d---%d e---%d\n",a,b,c,d,e);
                        }
                    }
                }
            }
        }
    }



名次:
   a---3  b---1 c---5 d---2 e---4

[ 本帖最后由 njkido 于 2011-3-18 10:23 编辑 ]
2011-03-18 10:15
快速回复:这个排序,怎么去实现,求教:::
数据加载中...
 
   



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

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