码迷,mamicode.com
首页 > 其他好文 > 详细

【 OJ 】第m小数

时间:2017-12-24 22:51:48      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:int   12月   enter   i++   内存   复数   while   小数   结束   

第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\n",num[i]);
27         }
28     }
29     return 0;
30 }

 

 

【 OJ 】第m小数

标签:int   12月   enter   i++   内存   复数   while   小数   结束   

原文地址:http://www.cnblogs.com/forfriendforfun/p/8099328.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!