帮忙求数组中的第三大的值。
我写了下面的代码,但只适合数组长度够长,元素够多的情况。像类似这样数组的情况就不知道怎么过滤int array[] ={4,4,4,2,4,4,4}; int array[] ={4,4,2,4,4,4,4}
数组没有排序。
下面是我写的主要代码,
for(int i=0;i<len;i++){
if(array[i]==array[i+1]){
cout<<"所有值相等,没有第三大的值。"<<endl;
return 0;
}
if(array[i]>max){
three=second;
second=max;
max=array[i];
}
else if(array[i] > second && array[i] < max){
three=second;
second=array[i];
}
else if(array[i] > three && array[i] < second){
three=array[i];
}
}
cout<<three<<endl;//return three;