题目描述
输入n个正整数(可以有重复的情况出现),输出其中最小的k个(如有重复的情况出现,重复输出),其中1≤k≤n≤10000,每个正整数小于10000。例如输入1、4、8、2、5、7、6、3这8个数字,则最小的4个数字为1、2、3、4。
输入格式
输出
最小的k个正整数,且从小到大排序,用空格隔开。
样例输入
8 4
1 2 3 4 5 6 7 8
样例输出
1 2 3 4
#include <iostream>
using namespace std;
int main()
{
int n,k,i,j,num,temp,buf[100];
cin>>n>>k;
for(i = 0; i != n; ++i)
{
cin>>num;
buf[i] = num;
}
for(i = 0; i < n; ++i)
{
for(j = 0; j<n-1-i; ++j)
{
if(buf[j]>buf[j+1])
{
temp = buf[j];
buf[j] = buf[j+1];
buf[j+1] = temp;
}
}
}
for(int i = 0;i!=k;++i)
cout<<buf[i]<<" ";
cout<<endl;
return 0;
}