题意
求第k大和第k小的数
解析
先用for循环输入数组,再用sort(a+1, a+n+1, greater<int>());降序排列(从大到小排列),cout<<a<<" "输出第k大的数加空格,再用sort(a+1,a+n+1);升序排列(从小到大排列),cout<<a[k]输出第k小的数,最后别忘了return 0!!!!!!!!!!
标程
#import <bits/stdc++.h>//万能头文件
using namespace std;//声明使用标准命名空间(不用写std了的意思)
int main(){//主函数
ios::sync_with_stdio(false);//和下面的cin.tie(nullptr)一起提高cin的效率
cin.tie(nullptr);
long long n,a[1000005],k;//万能的long long,存大数特好用,和int一个用法
cin>>n>>k;
for(int i=1;i<=n;i++){cin>>a[i];}//for也可以写在一行里,神奇吧
sort(a+1, a+n+1, greater<int>());//greater<int>:第三参数,表降序排列(从大到小排列)
cout<<a[k]<<" ";//输出输出第k大的数加空格
sort(a+1,a+n+1);//正常升序排列(从小到大排列)
cout<<a[k]<<" ";//输出第k小的数
return 0;//结束程序
}
后记
加油宝子们!!!!!!!!!
求赞!!!!!!!!!!!!!!!!!!!!!!!!!!!


被折叠的 条评论
为什么被折叠?



