排序

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 75271    Accepted Submission(s): 23079

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

你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。

 
Input
输入包含多组测试用例,每组输入数据只有一行数字(数字之间没有空格),这行数字的长度不大于1000。

输入数据保证:分割得到的非负整数不会大于100000000;输入数据不可能全由‘5’组成。

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

把字符串中5当成空格,然后把那些分割开的数字排序输出

使用STL的strtok和sscanf会变得很简单

strtok每次返回一个隔开的字符串,sscanf把这个字符串赋给int数组

最后用sort给int数组排一下序

strtok可以去这里看http://www.cplusplus.com/reference/cstring/strtok/

sscanf http://www.cplusplus.com/reference/cstdio/sscanf/

 #include<bits/stdc++.h>
using namespace std;
char s[];
int b[];
int main()
{
while(~scanf("%s",s))
{
char *p;
int k = ;
p = strtok(s,"");
//cout<<p<<endl;
while(p != NULL)
{
sscanf(p,"%d",&b[k++]);
p = strtok(NULL,"");
// cout<<p<<endl;
}
sort(b,b+k);
printf("%d",b[]);
for(int i = ; i < k; i++)
printf(" %d",b[i]);
printf("\n");
}
return ;
}

hdu1106 排序(字符串分割,strtok+sscanf)的更多相关文章

  1. C语言strtok()函数:字符串分割

    头文件:#include <string.h> 定义函数:char * strtok(char *s, const char *delim); 函数说明:strtok()用来将字符串分割成 ...

  2. strtok、strtok_s、strtok_r 字符串分割函数

    1.strtok函数 函数原型:char * strtok (char *str, const char * delimiters); 参数:str,待分割的字符串(c-string):delimit ...

  3. 【Teradata SQL】字符串分割函数STRTOK和STRTOK_SPLIT_TO_TABLE

    STRTOK函数: 按照指定分隔符,将字符串分割成多个部分,返回指定部分字符串. 参数说明: (1)instring:字符串或字符串表达式. (2)delimiter:分隔符列表,字符串每个字符都会做 ...

  4. C/C++ 字符串分割: strtok 与 strsep 函数说明

    函数原型: char *strtok(char *s, const char *delim); char *strsep(char **s, const char *delim); 功能:strtok ...

  5. (十六)strtok、strtok_s、strtok_r 字符串分割函数

    1.strtok函数 函数原型:char * strtok (char *str, const char * delimiters); 参数:str,待分割的字符串(c-string):delimit ...

  6. hdu 2072 1106学一波字符串分割,C语言与C++两种方法

    hdu2072:题意:输出给定字符串中的单词数(一个句子中可能有两个相同的单词),这里的思想是把每个单词取出来,放入set(这个集合容器中不允许有相同的元素)中,最后输出该集合的大小即可. 现在的问题 ...

  7. 【转】字符串分割(C++)

    原文:http://www.cnblogs.com/MikeZhang/archive/2012/03/24/mysplitfuncpp.html 经常碰到字符串分割的问题,这里总结下,也方便我以后使 ...

  8. SQL点滴3—一个简单的字符串分割函数

    原文:SQL点滴3-一个简单的字符串分割函数 偶然在电脑里看到以前保存的这个函数,是将一个单独字符串切分成一组字符串,这里分隔符是英文逗号“,”  遇到其他情况只要稍加修改就好了 CREATE FUN ...

  9. C++中String类的字符串分割实现

    最近笔试,经常遇到需要对字符串进行快速分割的情景,主要是在处理输入的时候,而以前练习算法题或笔试,很多时候不用花啥时间考虑测试用例输入的问题.可是C++标准库里面没有像java的String类中提供的 ...

随机推荐

  1. tp3.2上一篇下一篇功能

    1. 后台 //上一页 $map1['a_id'] = array('gt',$a_id); $map1['cate_id'] = array('eq',$cate_id); $front=$arc- ...

  2. 20145238-荆玉茗《网络对抗技术》-Web基础

    20145238荆玉茗-<网络攻防>-Wbe基础 实践过程记录 实践过程记录 一.Apache 1.环境配置 使用apachectl start开启Apach,使用netstat -apt ...

  3. 【Git】Git使用小结

    Git与SVN及TFS这类传统的版本管理的区别: 本地机器也会有分支.代码库的概念 SVN常用的做法是每次写一些代码就提交到仓库,但是Git是先提交到本地(commit),然后当本地有个稳定的版本的时 ...

  4. ASP.NET Core 运行原理剖析 (转载)

    1.1. 概述 在ASP.NET Core之前,ASP.NET Framework应用程序由IIS加载.Web应用程序的入口点由InetMgr.exe创建并调用托管.以初始化过程中触发HttpAppl ...

  5. EF Core怎么只Update实体的部分列数据

    下面是EF Core中的一个Person实体: public partial class Person { public int Id { get; set; } public string Code ...

  6. Process.waitFor()导致主线程堵塞问题

    今日开发的时候使用jdk自带的运行时变量 RunTime.getRunTime() 去执行bash命令.因为该bash操作耗时比较长,所以使用了Process.waitFor()去等待子线程运行结束. ...

  7. iOS:UICollectionView流式布局及其在该布局上的扩展的线式布局

    UICollectionViewFlowLayout是苹果公司做好的一种单元格布局方式,它约束item的排列规则是:从左到右依次排列,如果右边不够放下,就换一行重复上面的方式排放,,,,,   常用的 ...

  8. 关于Date的冷门知识记录

    最近在做项目的时候,用到了Date.toLocaleString来处理当前日期.在这之前,我都是通过get*等方式来获取数据进行拼接.无意间,发现了toLocaleString方法.遂想写一篇文章来记 ...

  9. eclipse安装tomcat时只有locahost,不显示server name

    Eclipseh中无法安装Tomcat,报错信息如下 Cannot create a server using the selected type   原因:以前安装的tomcat目录改变 解决方法: ...

  10. DBUtils 学习使用

    DBUtils 学习使用 commons-dbutils简介 commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbuti ...