找出一个数组当中第二大的数字

来源:互联网 发布:售后服务 淘宝 编辑:程序博客网 时间:2024/06/05 18:23

题目:找出一个数组当中第二大的数字:

 

#include <iostream>using namespace std;const int M = -32767;int find_sec_max(int a[], int count){int maxNum = a[0]; //数组第一个值开始为最大值int sexNum = M; //求最大值 与 最小值for(int i = 0; i< count; i++){for(int j = 0; j < count - i; j++){if(a[j] > a[j+1]){int temp = a[j];a[j]  = a[j+1];a[j+1]  = temp;}}}if(a[0] == a[count -1]){cout<<"不存在第二大的数字"<<endl;return 0;}else{for(int i = 1; i < count; i++){if(a[i] > maxNum){sexNum = maxNum;maxNum = a[i];}else{if(a[i] > sexNum){sexNum = a[i];}}}}return sexNum;}int main(){int a[] = {-32799,-32799,-32769,-32769,2};cout<<find_sec_max(a,5)<<endl; return 0;}

0 0
原创粉丝点击