• 【 OJ 】第m小数


    第m小数

    发布时间: 2017年12月10日 17:46   最后更新: 2017年12月12日 16:39   时间限制: 10000ms   内存限制: 128M

    给定N个正整数,数据值范围是1…10000,N个数中可能会有重复数据,你是否可以编个程序求其中第m小的数。对于重复数据,应分别计数,如样例数据所示。

    每组测试数据包括两行,第一行是两个正整数N(N<=1000000),M(M<=N),表示有N个测试数据,求第M小的数,第二行给出N个数。最后一行是两个0表示输入结束。

    每组测试数据中第m小的数

    10 3
    14 25 39 22 7 7 31 4 22 67
    0 0
    
    7
    代码
      只用了冒泡。
     1 #include <stdio.h>
     2 int main(){
     3     int n,m,x;
     4     int num[1000];
     5     int i,j;
     6     while(scanf("%d%d",&n,&m) != EOF){
     7         if(n == 0 && m == 0)
     8                 break;
     9         i = 0;
    10         while(i < n){
    11             scanf("%d",&x);
    12             num[i] = x;
    13             i++;
    14         }
    15         for(i = 0; i < n; i++){
    16             for(j = 0; j < n - i - 1; j++){
    17                 if(num[j] > num[j+1]){
    18                     x         = num[j];
    19                     num[j]     = num[j+1];
    20                     num[j+1] = x;
    21                 }
    22             }
    23         }
    24         for(i = 0; i < m; i++){
    25             if(i == m-1)
    26                 printf("%d
    ",num[i]);
    27         }
    28     }
    29     return 0;
    30 }
     
    道阻且长,行则将至。
  • 相关阅读:
    n-1位数
    关于VC预定义常量_WIN32,WIN32,_WIN64
    python中的闭包
    TCP粘包, UDP丢包, nagle算法
    C++中 explicit的用法
    为什么mysql索引要使用B+树,而不是B树,红黑树
    屏障和屏障属性
    带有超时的读写锁
    pthread_mutex_timedlock
    段错误以及调试方式
  • 原文地址:https://www.cnblogs.com/forfriendforfun/p/8099328.html
Copyright © 2020-2023  润新知