注册 登录
编程论坛 C++教室

帮忙求数组中的第三大的值。

a111234567 发布于 2023-08-06 16:13, 1243 次点击
我写了下面的代码,但只适合数组长度够长,元素够多的情况。
像类似这样数组的情况就不知道怎么过滤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;
4 回复
#2
rjsp2023-08-06 19:11
题目要求呢?
#3
a1112345672023-08-06 19:28
以下是引用rjsp在2023-8-6 19:11:58的发言:

题目要求呢?

就是求数组中第三大的值,各种情况都要考虑到。包括没有第三大值的情况。
#4
a1112345672023-08-06 19:32
以下是引用rjsp在2023-8-6 19:11:58的发言:

题目要求呢?

而且不能用先排序的方法。
#5
a1112345672023-08-11 19:36
已解决
1