2876: 练59.1 第n大的数
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
有$10$个互不相同的整数,不用排序,求出其中第$n$大的数(),即有$n-1$个数比它大,其余的数都比它小。定义一个找数列{$99$,$200$,$95$,$87$,$98$,$-12$,$30$,$87$,$75$,$-25$}中第$n$大的数的函数,利用它输出第$n$大的数?
输入
一行一个整数,表示$n$。若$n$不合法,则重新输入。
输出
一行一个整数,表示该数列中第$n$大的数。
样例输入 复制
2
样例输出 复制
99
提示
#include <bits/stdc++.h> using namespace std; int main(){ int n,a[10]={99,200,95,87,98,-12,30,87,75,-25}; while (cin>>n,n<1||n>10); nth_element(a, a+n-1, a+10,greater<int>()); printf("%d\n",a[n-1]); }