描述
输入n个整数,输出其中最小的k个。
本题有多组输入样例,请使用循环读入,比如while(cin>>)等方式处理
输入描述:
第一行输入两个整数n和k
第二行输入一个整数数组
输出描述:
输出一个从小到大排序的整数数组
示例1
输入:
5 2
1 3 5 7 2
输出:
1 2
#include <stdio.h>
#include <string.h>
void bubble_sort(int *a, int len)
{
int i, j;
int tmp;
for(i=len-1; i>0; i--)
{
for(j=0; j<i; j++)
{
if(a[j] > a[j+1])
{
tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
}
}
int main(void)
{
int cnt;
int num;
int *array;
int i;
while(scanf("%d", &cnt) != EOF)
{
scanf("%d", &num);
array = (int* )calloc(cnt, sizeof(int));
for(i=0; i<cnt; i++)
{
scanf("%d", array+i);
}
bubble_sort(array, cnt);
for(i=0; i<num; i++)
{
printf("%d ", array[i]);
}
printf("\n");
free(array);
}
return 0;
}