题解 | #输入n个整数,输出其中最小的k个#
输入n个整数,输出其中最小的k个
http://www.nowcoder.com/practice/69ef2267aafd4d52b250a272fd27052c
#include <stdio.h> #include <stdlib.h>
int ascending(int *a, int *b) { return *a - *b; //升序(从小到大) //return *b - *a //降序 }
int main() { int n = 0; int k = 0; int num = 0; int array[1000] = {0};
if(scanf("%d %d", &n, &k)) //输入两个整数
{
for(int i = 0; i < n; i++)
{
scanf("%d", &num);
array[i] = num; //给数组赋值
}
//给数组排序(升序)
qsort(array, n, sizeof(int), ascending);
for(int j = 0; j < k; j++) //输出排序后的前K个数据
{
printf("%d ", array[j]);
}
printf("\n");
}
return 0;
}