| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 964 人关注过本帖
标题:排序
只看楼主 加入收藏
刘言
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-1-3
收藏
 问题点数:0 回复次数:4 
排序
排序

Description

给定一组数,按升序将其排好。
要求:此题并非只为了排序,请注意输入与输出说明。

Input

输入文件由若干测试数据集构成。每一个数据集又由两部分组成。第一部分是两个非负整数n(1<=n<=100000)和m(1<=m<=n),分别代表要排序的一组数的个数和排序后新数列输出时的间隔数(即输出第一个数后,每隔m个输出一个)。第二部分是 个正整数(每个整数均小于2,000,000,000)。当n=m=0时输入中止。

Output

对每一测试数据集,你必须在同一行上输出符合要求的那些数来。在你排序完毕后,你应该输出其中每m个中的第一个,并且要求两个相邻的数之间恰好由一个空格来隔开。在两组测试数据集的输出结果之间不能有空白行。

Sample Input


8 2
3
5
7
1
8
6
4
2
0 0

Sample Output


1 3 5 7

Hint

注意:数据的范围。
搜索更多相关主题的帖子: 整数 数据集 输出 Description Output 
2008-01-03 11:46
刘言
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-1-3
收藏
得分:0 
请大家帮帮忙.
2008-01-03 11:50
無邪的睡脸
Rank: 2
等 级:等待验证会员
威 望:1
帖 子:344
专家分:13
注 册:2007-9-11
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    long *p,n,m,i,j,temp;
    while(1)
    {
        scanf("%ld%ld",&n,&m);
        if(m==0&&n==0)
            break;
        p=(long*)calloc(n,sizeof(long));
        for(i=0;i<n;i++)
            scanf("%ld",&p[i]);
        for(i=0;i<n-1;i++)
            for(j=0;j<n-1-i;j++)
                if(p[j]>p[j+1])
                {
                    temp=p[j];
                    p[j]=p[j+1];
                    p[j+1]=temp;
                }
        for(i=0;i<n;i+=m)
            printf("%ld ",p[i]);
        printf("\n");
        free(p);
    }
    system("pause");
    return 0;
}

我来试哈!注意提交的时候将数据类型改为long long(我用的编译器不支持),输入用%lld,将暂停的语句去掉!
2008-01-03 13:00
linsua
Rank: 1
等 级:新手上路
帖 子:275
专家分:0
注 册:2008-1-2
收藏
得分:0 
win下GCC(MinGW)是 printf("%I64d");  *nix下是 printf("%lld" ) ;

如果你对我的话感到再明白不过 那恐怕你是误解了我的意思
2008-01-03 13:10
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
unsigned就可以了
2008-01-03 16:12
快速回复:排序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014253 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved