| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 923 人关注过本帖
标题:5个甚至更加多的数不相同的表达式怎么写?
只看楼主 加入收藏
carmeloyin
Rank: 3Rank: 3
来 自:西安
等 级:论坛游侠
帖 子:161
专家分:157
注 册:2008-12-2
结帖率:91.67%
收藏
已结贴  问题点数:3 回复次数:7 
5个甚至更加多的数不相同的表达式怎么写?
比如有
int a,b,c,d,e,;
for(a``````````)
for(b``````````)
``````````````
现在想表示if(a b c d e各不相同)这么一个条件
除了if(a!=b && a!=c && a!=d && a!=e && b!=c && b!=d && b!=e && c!=d && c!=e && d!=e)这种恶心死人的表达方式
还可以怎么表达??
我有点糊涂
搜索更多相关主题的帖子: 表达 
2010-08-13 01:55
毕业旅行
Rank: 4
等 级:业余侠客
威 望:1
帖 子:130
专家分:280
注 册:2010-7-7
收藏
得分:0 
放入数组,a[n]
int n=0;
for(int i=0;i<n-1;i++)
    for(int j=i+1;j<n;j++)
        if(a[i]==a[j])
        {n=1;break;}
if(n==0)
……
2010-08-13 03:31
carmeloyin
Rank: 3Rank: 3
来 自:西安
等 级:论坛游侠
帖 子:161
专家分:157
注 册:2008-12-2
收藏
得分:0 
这样还是太麻烦了
一个if语句搞这么麻烦
我问这个问题是缘于我解了一道题目
题目是:
问题的提出:四位分别来自中国、美国、俄罗斯、加拿大的小学生都以自己的国土面积大而骄傲不已,
//但是他们想知道到底谁的国土最大,谁的最小,他们的判断如下:
//加拿大学生:加拿大最大,美国最小,俄罗斯第三。
//美国学生:美国最大,加拿大最小,俄罗斯第二,中国第三。
//中国学生:美国最小,加拿大第三。
//他们互不相让,最后老师下定结论:对于上述四国面积的判断,他们每人只判断对了一个国家。对于
//老师的提示,四位小学生还是绞尽脑汁推断不出到底是谁的国土最大,谁的最小!现请编制程序告诉
//四位小学生正确顺序。


我的答案是:
#include<iostream.h>
main()
{
    int China,America,Rassian,Canada;
    for(China=1; China<=4; China++)
        for(America=1; America<=4; America++)
            for(Rassian=1; Rassian<=4; Rassian++)
                for(Canada=1; Canada<=4; Canada++)
                    if( (Canada==1)+(America==4)+(Rassian==3)==1          //加拿大学生说法
                        && (America==1)+(Canada==4)+(Rassian==2)+(China==3)==1   //美国学生说法
                        && (America==4)+(Canada==3)==1                   //中国学生说法
                        && China!=America && China!=Rassian && China!=Canada && America!=Rassian && Rassian!=Canada && America!=Canada )   //四国各不相同
                    {
                        cout<<"China:No."<<China<<endl;
                        cout<<"America:No."<<America<<endl;
                        cout<<"Rassian:No."<<Rassian<<endl;
                        cout<<"Canada:No."<<Canada<<endl;
                    }
}
其中这个4国各不相同的条件语句让我写烦了
但是如果说放到数组中
无疑增加的程序的复杂度和可读性
2010-08-13 13:42
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:0 
这个问题中的变量个数越多,复杂程度也就越高 呵呵 所以最好的解决办法是当变量个数多到你不能容忍的数量的时候把它们放到数组中去,然后让循环帮你解决

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-13 13:52
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
俄罗斯的学生没回答吗?这么惨?
2010-08-13 14:14
carmeloyin
Rank: 3Rank: 3
来 自:西安
等 级:论坛游侠
帖 子:161
专家分:157
注 册:2008-12-2
收藏
得分:0 
LS的·····
您偏题了···
2010-08-13 15:11
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
法1:把元素放到HashTable里。O(N)
法2:把元素排一遍序,然后线性扫一遍。复杂度为排序的复杂度。

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2010-08-13 15:37
carmeloyin
Rank: 3Rank: 3
来 自:西安
等 级:论坛游侠
帖 子:161
专家分:157
注 册:2008-12-2
收藏
得分:0 
哈什算法··?
我忘记是什么了···
2010-08-13 15:55
快速回复:5个甚至更加多的数不相同的表达式怎么写?
数据加载中...
 
   



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

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