222 c++

目录: 目录: 题目: 代码: 思路: 题目: 给定 nn 个正整数,输出它们中的第二大的数和第二小的数。 输入格式 第一行为一个正整数nn,接下

目录:

目录:

题目:

代码:

思路:


题目:

给定 nn 个正整数,输出它们中的第二大的数和第二小的数。

输入格式

第一行为一个正整数nn,接下来nn个正整数。

输出格式

两个数,用空格隔开,依次分别表示第二大的数和第二小的数。

样例输入

10
1 5 7 7 9 8 16 2 4 7

样例输出

9 2

代码:

#include 
using namespace std;
int main()
{int a[100001],n;cin>>n;for(int i=0;i<=n-1;i++){cin>>a[i];}for(int j=0;j<=n-2;j++)for(int i=0;i<=n-2-j;i++){if(a[i]>a[i+1]){int t;t=a[i];a[i]=a[i+1];a[i+1]=t;}}cout<

思路:

  1. 首先将数组排序。
  2. 如果数组的长度大于等于 2,那么第二大的数就是数组的第二个元素,第二小的数就是数组的倒数第二个元素。