1. 程式人生 > >輸入n個整數,輸出其中最小的k個/華為機試(C/C++)

輸入n個整數,輸出其中最小的k個/華為機試(C/C++)

題目描述

輸入n個整數,輸出其中最小的k個。

詳細描述:

介面說明

原型:

bool GetMinK(unsignedint uiInputNum, int * pInputArray, unsignedint uiK, int * pOutputArray);

輸入引數:

     unsignedint uiInputNum //輸入整數個數

int * pInputArray  //輸入整數陣列

unsignedint uiK   //需輸出uiK個整數

輸出引數(指標指向的記憶體區域保證有效):

    int * pOutputArray //最小的uiK個整數

返回值:

        false 異常失敗

          true  輸出成功

輸入描述:

輸入說明  1 輸入兩個整數  2 輸入一個整數陣列

輸出描述:

輸出一個整數陣列

示例1

輸入

5 2
1 3 5 7 2

輸出

1 2

程式碼:

//第五十六題  輸入n個整數,輸出其中最小的k個
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
	int n, k;
	while (cin >> n >> k)
	{
		vector<int>vpi(n);
		int temp;
		for (int i = 0; i < n; i++)
		{
			cin >> temp;
			vpi[i] = temp;
		}
		sort(vpi.begin(), vpi.end());
		for (int i = 0; i < k; i++)
			cout << vpi[i] <<" ";
		cout << endl;
	}
	return 0;
}