实验6-8 第k大或第k小的数
题目来源:江西理工大学OJ
题目地址:http://oj.jxust.edu.cn/problems/1224
题目描述
给你N(N<=1000)个不同的数,每个数都小于10^6,求第k小的数与及第k大的数(k<=N)
输入
第一行给出N和k的值,
第二行就是N个数据。
输出
第k小的数与及第k大的数
样例输入
6 3
10 2 30 21 15 8
样例输出
第3小的数10 ,第3大的数是15
这么一个简单的题目,为什么正确率这么低?
那是因为这个题目的输出格式,让人难以捉摸,所以本题的意义在于,以后输出的格式直接复制样例,不要自以为是的输出!!
上代码!!
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n, k;
cin >> n >> k;
int a[10000];
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
sort(a, a + n);//排序函数,不知道的小伙伴可以自行查找
cout << "第" << k << "小的数" << a[k - 1] << " ,第" << k << "大的数是" << a[n - k] << endl;
return 0;
}
知识点总结:
- 输出时一定要按题目的样例来!
- sort排序函数
好了,每篇题解后面都附上一句话。
不要因为走得太远,忘了我们为什么出发。 – 纪伯伦