C语言里怎么判断10个数互不相同??简单的方法,而不是两两相比较的方法,请求高手指教,非常感谢啊!!!

如题所述

hash,用数组的下标表示你输入的数,数组的值表示该数是否出现过。
初始化数组的值全部为0,表示没出现。

比如 a[5]=1,表示的意思就是5,出现过
a[5]=0,表示的意思就是5没有出现过。
a[4]=1,表示的意思就是4出现过。
当然,还可以记录每个数出现的次数,出现一次,该数组值就加1
a[5]=2,表示5出现2次,同理……

如果只为看是否出现,就用0,1表示,数组类型也可以是bool型,不占很多空间……
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-10
c++里面有容器map,你把10个数往map里面放,有重复的会自动覆盖,10个放完了如果你统计map只有9个元素,那么表示有重复。
第2个回答  2018-03-17
//hehe
bool IsEqual(vector<int> &vc)
{
for (int i =0 ; i < vc.size(); ++i)
for (int j = i+1; j < vc.size(); ++j)
if (vc[i] == vc[j])
return true;
return false;
}
第3个回答  2010-09-10
用数组可以不?
相似回答