查找最小的k个元素
题目:输入n个整数,输出其中最小的k个。
例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。
#include<iostream>
using namespace std;
void Min(int a[],int n,int k){
for(int i=1;i<=k;i++)
for(int j=0;j<n-i;j++)
if(a[j]<a[j+1]){
int temp;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
cout<<a[n-1]<<" "<<a[n-2]<<" "<<a[n-3]<<" "<<a[n-4]<<endl;
return;
}
int main(){
int a[100];
int n,k;
cout<<"现在输入n个整数,从中找到k个最小的数:"<<endl;
cout<<"输入n:";
cin>>n;
cout<<"输入k:";
cin>>k;
for(int i=0;i<n;i++)
cin>>a[i];
Min(a,n,k);
return 0;
}