排序(hdu1106 strtok函数的使用)
来源:互联网 发布:政府大数据应用 编辑:程序博客网 时间:2024/06/05 00:41
题意:
输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。
你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。
思路:strtok分割字符串
strtok的使用
函数名: strtok
功 能: 查找由在第二个串中指定的分界符分隔开的单词
用 法: char *strtok(char *str1, char *str2);
strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串,当strtok()在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串(此时返回分割符前面的字符串),往后的调用则将参数s设置成NULL(返回分隔符后的字符串)。每次调用成功则返回被分割出片段的指针,当没有被分割的串时则返回NULL。
第一次输出 abc#include <string.h> #include <stdio.h> int main(void) { char input[16] = "abc,d"; char *p; /**//* strtok places a NULL terminator in front of the token, if found */ p = strtok(input, ","); if (p) printf("%s\n", p); /**//* A second call to strtok using a NULL as the first parameter returns a pointer to the character following the token */ p = strtok(NULL, ","); if (p) printf("%s\n", p); return 0; }
第二次输出 d
题目是按照5分割,然后保存的分割后的串,排序
#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;char s[10000];int b[10000];int main(){ while(scanf("%s",s) != EOF) { char *p; int k = 0; p = strtok(s,"5"); while(p != NULL) { sscanf(p,"%d",&b[k++]); p = strtok(NULL,"5"); } sort(b,b+k); printf("%d",b[0]); for(int i = 1; i < k; i++) printf(" %d",b[i]); printf("\n"); } return 0;}
- 排序(hdu1106 strtok函数的使用)
- strtok()函数的使用
- HDU1106黑科技-strtok函数与atoi函数
- hdu1106 字符串水题strtok()&&strchr()&&sscanf()+atoi()使用
- strtok函数的使用注意事项
- strtok函数的使用注意事项
- HDU1106:排序
- hdu1106 排序
- hdu1106( 排序)
- HDU1106--排序
- hdu1106排序
- hdu1106排序
- hdu1106排序
- hdu1106-排序
- HDU1106 排序
- hdu1106排序
- HDU1106 排序
- HDU1106 排序
- 敏捷开发的26条至理名言
- 高仿Maxthon4的Win8风格的安装界面(附源码下载)
- Qt中添加背景图片的方法(转)
- 实验3 this指针、常量和静态成员和友元函数的使用
- joj 1008 Go hang a salami 回文判断
- 排序(hdu1106 strtok函数的使用)
- 将负数转换为二进制
- Java相对路径读取文件
- 适配器模式(Adapter pattern)
- python_urllib,urllib2模块
- 公钥和私钥的简单透彻理解
- C语言运算符优先级
- linux diff patch 用法
- log4j 详解(二)