21xrx.com
2025-04-15 16:22:25 Tuesday
文章检索 我的文章 写文章
C++代码:求第二大的数
2023-07-08 01:19:11 深夜i     19     0
C++ 数组 排序 第二大数

在C++中,要求一个数组中的第二大的数,即找到比最大数小但又是该数组中第二大的数。

我们可以采用以下方法:

1. 先找到数组的最大数,将其设为max。

2. 创建一个变量secondMax,初值为INT_MIN。

3. 遍历数组,如果数组元素大于secondMax但小于max,就将该元素设为secondMax。

4. 遍历完后,secondMax就是该数组中第二大的数。

以下是代码实现:

#include<iostream>
#include<climits>//需要使用INT_MIN
using namespace std;
int main() {
  int arr[] = 2;
  int len = sizeof(arr)/sizeof(arr[0]);
  int max = INT_MIN;
  int secondMax = INT_MIN;
  for(int i = 0; i < len; i++) {
    if(arr[i] > max) {
      secondMax = max;
      max = arr[i];
    }else if(arr[i] > secondMax && arr[i] < max) {
      secondMax = arr[i];
    }
  }
  cout<<"The second largest number is: " << secondMax << endl;
  return 0;
}

输出结果为:

The second largest number is: 9

这个代码可以用于任何长度的数组,只需要更改arr数组和len的值即可找到该数组中第二大的数。

总的来说,要求一个数组中第二大的数并不难,只需要先找到最大数,在遍历数组时设定一个secondMax变量即可。

  
  

评论区

请求出错了