题解 | #输入n个整数,输出其中最小的k个#

输入n个整数,输出其中最小的k个

http://www.nowcoder.com/practice/69ef2267aafd4d52b250a272fd27052c

#include<stdio.h>
void swap(int *arr,int i,int j){
    if(i==j)return ;
    int t=arr[i];
    arr[i]=arr[j];
    arr[j]=t;
}
int main(){
    int n,k,arr[1000];
    while(~scanf("%d",&n)){
        scanf("%d",&k);
        for(int i=0;i<n;i++){
            scanf("%d",arr+i);
        }
        for(int i=0;i<k;i++){
            int min=i;
            for(int j=i+1;j<n;j++){
                if(arr[min]>arr[j])min=j;
            }
            swap(arr,i,min);
        }
        for(int i=0;i<k;i++){
            printf("%d ",arr[i]);
        }
        printf("\n");
    }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务