输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。 
你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。 

Input

输入包含多组测试用例,每组输入数据只有一行数字(数字之间没有空格),这行数字的长度不大于1000。   
输入数据保证:分割得到的非负整数不会大于100000000;输入数据不可能全由‘5’组成。

Output

对于每个测试用例,输出分割得到的整数排序的结果,相邻的两个整数之间用一个空格分开,每组输出占一行。

Sample Input

0051231232050775

Sample Output

0 77 12312320

// 忘记考虑两个5之间没有数字的情况
 #include<stdio.h>
#include<stdlib.h>
#include<string.h> void selc_sort(int a[], int len, int flag)
{
int i, j, t, min;
for(i=;i<len-;i++)
{
min=i;
for(j=i+;j<len;j++)
if(a[min]>a[j]) min=j;
if(min!=i)
{ t=a[i]; a[i]=a[min]; a[min]=t; }
}
if(flag)
{
for(i=;i<len/;i++)
{ t=a[i]; a[i]=a[len--i]; a[len--i]=t; }
}
} int main()
{
char a[], *p;
int b[], len, i, flag, length;
while(scanf("%s", a)!=EOF)
{
len=;
for(p=a;*p;p++)
if(*p=='')
{
*p='\0';
len++;
}
if(*(p-)) len++;
p=a;
for(i=;i<len;i++)
{
flag=;
while(*p=='')
{
p++;
if(*p=='\0')
{ flag=; break; }
}
if(flag)
{ b[i]=atoi(p); length=strlen(p)+; p+=length; }
else
{ b[i]=; p++;}
}
selc_sort(b,len,);
for(i=;i<len;i++)
{
if(i==len-) printf("%d\n", b[i]);
else printf("%d ", b[i]);
}
}
return ;
}

WA

 #include<stdio.h>
#include<stdlib.h>
#include<string.h> void shell_sort(int a[], int len)
{
int i, j, t, gap;
for(gap=len/;gap>;gap--)
for(j=gap;j<len;j++)
for(i=j;i-gap>=&&a[i]<a[i-gap];i-=gap)
{ t=a[i]; a[i]=a[i-gap]; a[i-gap]=t; }
} int main()
{
char a[], *p;
int b[], len, i, flag, length;
while(scanf(" %s", a)!=EOF)
{
len=;
for(p=a;*p;p++)
if(*p=='')
{
*p='\0';
len++;
}
if(*(p-)) len++;
p=a;
for(i=;i<len;i++)
{
flag=;
while(*p=='')
{
p++;
if(*p=='\0')
{ flag=; break; }
}
if(flag)
{
if(strlen(p))
{ b[i]=atoi(p); length=strlen(p)+; p+=length; }
else
{ p++; i--; len--; }
}
else
{ b[i]=; p++;}
}
shell_sort(b,len);
for(i=;i<len;i++)
{
if(i==len-) printf("%d\n", b[i]);
else printf("%d ", b[i]);
}
}
return ;
}

AC

4A - 排序的更多相关文章

  1. 基于visual Studio2013解决C语言竞赛题之0506选择排序

     题目

  2. heap表和iot表排序规则不同

    heap 和iot 对比 OBJECT_NAME OBJECT_TYPE --------------------------------------------------------------- ...

  3. 三白话经典算法系列 Shell排序实现

    山是包插入的精髓排序排序,这种方法,也被称为窄增量排序.因为DL.Shell至1959提出命名. 该方法的基本思想是:先将整个待排元素序列切割成若干个子序列(由相隔某个"增量"的元 ...

  4. SQL SERVER 字符串按数字排序

    需求是这样的: 数据库表里面有一个字段类型是nvachar,存的值是数字和字符混合的,要实现先按数字排序,再按字母倒序. 思路: 考虑这个字段的值是否是有规律可循的,把要按数字排序的部分转换为数字,再 ...

  5. 两排序数组的中位数 Median of Two Sorted Arrays

    2018-11-18 23:33:28 问题描述: 问题求解: 这个问题是一个比较有难度的可以使用二分搜索法求解的问题,如果采用朴素的解法进行merge再找中位数的话,其时间复杂度为O(n1 + n2 ...

  6. 在 Students 的 Index 页面增加列标题链接(排序),分页,过滤和分组功能

    3-1  在 Students 的 Index 页面增加列标题链接 为 Index 页面增加排序的功能,我们需要修改 Student 控制器的 Index 方法,还需要为 Student 视图增加代码 ...

  7. 24.C语言最全排序方法小结(不断更新)

    希尔排序: 该方法的基本思想是:先将整个待排元素序列切割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再 ...

  8. 个性化排序算法实践(五)——DCN算法

    wide&deep在个性化排序算法中是影响力比较大的工作了.wide部分是手动特征交叉(负责memorization),deep部分利用mlp来实现高阶特征交叉(负责generalizatio ...

  9. 含有对象的List集合实现字母数字混合排序

    List<PageData> varList = [{BOMCode=10A, mantotal=4}, {BOMCode=10B, mantotal=1}, {BOMCode=11A, ...

随机推荐

  1. MVC part4

    SpringMVC 注解 @Controller 负责注册一个bean 到spring 上下文中,bean 的ID 默认为类名称开头字母小写,你也可以自己指定, 如下 方法一: @Controller ...

  2. IE 11中 onpropertychange失效

    https://msdn.microsoft.com/zh-cn/library/ie/dn265032(v=vs.85).aspx 将突变事件和属性更改事件迁移到突变观察者 Internet Exp ...

  3. MyBatis数据库连接的基本使用

    MyBatis部分: 本部分内容只主要体现Mybatis的特点. (1)MyBatis是什么? 开源的持久层框架,MyBatis的底层仍然是JDBC (2)编程步骤 step1 Maven项目 pom ...

  4. msf客户端渗透(三):提权、图形化payload

    对普通权限session提权 生成一个木马 开启Apache服务 将木马上传网页 被攻击者从这个网页上获取到这个木马 攻击者开启msf侦听 当被攻击者双击这个木马文件时 攻击者就获取到一个sessio ...

  5. char和varchar查询速度、存储空间比较详解(转)

    转:http://tech.diannaodian.com/dw/data/sql/2011/1005/135572.html 一.数据行结构 1.char(n): 系统分配n个字节给此字段,不管字段 ...

  6. Java字符串String详解

    1.String字符串 实例化String对象: (1)直接赋值,如:String str="hello"; (2)使用关键字 new,如:String str=new Strin ...

  7. linux之master和minion

    saltstack博客地址: https://www.cnblogs.com/pyyu/p/9465608.html在线yaml文件编写:http://www.bejson.com/validator ...

  8. Selenium 定位元素原理,基本API,显示等待,隐式等待,重试机制等等

    Selenium  如何定位动态元素: 测试的时候会遇到元素每次变动的情况,例如: <div id="btn-attention_2030295">...</di ...

  9. js和jquery实现图片无缝轮播的不同写法

    多掌握一种方法总是会有好处的,学习编程就要多思考,举一反三 下面写一下实现图片自动播放的代码,由于学习的是javascript,代码量很大,所以又学习了jquery库的操作,非常简便 还有非常有逼格的 ...

  10. PTA 7-6 列出连通集(深搜+广搜)

    给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集.假设顶点从0到N−1编号.进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点. 输入格式: 输入第1 ...