hdu1106 字符串水题strtok()&&strchr()&&sscanf()+atoi()使用
字符串的题目 用库函数往往能大大简化代码量
以hdu1106为例
函数介绍
strtok()
原型: char
*strtok(char s[], const char *delim);
功能:
说明
strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串中包含的所有字符。当strtok()在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为\0
字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针。
#include<stdio.h>
int main(void)
{
charinput[16]="abc,d";
char*p;
p=strtok(input,",");
if(p) printf("%s\n",p);
p=strtok(NULL,",");
if(p) printf("%s\n",p);
return 0;
}
atoi()
说明
strtod() strtold() strtol() 这在文章结束后介绍
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int num[1010];
char temp[1010];
int Qsort(int s,int t)
{
int i=s,j=t,x=num[s];
while(i<j)
{
while(i<j&&num[j]>x) j--;
if(i<j) num[i]=num[j],i++;
while(i<j&&num[i]<x) i++;
if(i<j) num[j]=num[i],j--;
}
num[i]=x;
if(s<i-1) Qsort(s,i-1);
if(i+1<t) Qsort(i+1,t);
return 0;
}
int main()
{
freopen("a.in","r",stdin);
freopen("a.out","w",stdout);
char *k;
int len,i;
while(gets(temp)!=NULL)
{
k=NULL;len=0;
for(k=strtok(temp,"5");k!=NULL;k=strtok(NULL,"5"))
num[len++]=atoi(k);
Qsort(0,len-1); for(i=0;i<=len-1;i++)
{
printf("%d",num[i]);
if(i!=len-1) printf(" ");
}
printf("\n");
}
return 0;
}
strchr()
说明
sscanf()
说明
|
1
2
3
|
charbuf[512];sscanf("123456","%s",buf);//此处buf是数组名,它的意思是将123456以%s的形式存入buf中!printf("%s\n",buf); |
|
1
2
|
sscanf("123456","%4s",buf);printf("%s\n",buf); |
|
1
2
|
sscanf("123456abcdedf","%[^]",buf);printf("%s\n",buf); |
|
1
2
|
sscanf("123456abcdedfBCDEF","%[1-9a-z]",buf);printf("%s\n",buf); |
|
1
|
printf("%s\n",buf); |
|
1
2
|
sscanf("123456abcdedfBCDEF","%[^A-Z]",buf);printf("%s\n",buf); |
|
1
2
|
sscanf("iios/12DDWDFF@122","%*[^/]/%[^@]",buf);printf("%s\n",buf); |
|
1
2
|
sscanf(“hello,world”,"%*s%s",buf);printf("%s\n",buf); |
hdu1106 字符串水题strtok()&&strchr()&&sscanf()+atoi()使用的更多相关文章
- 1222: FJ的字符串 [水题]
1222: FJ的字符串 [水题] 时间限制: 1 Sec 内存限制: 128 MB 提交: 92 解决: 20 统计 题目描述 FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = ...
- 1001 字符串“水”题(二进制,map,哈希)
1001: 字符串“水”题 时间限制: 1 Sec 内存限制: 128 MB提交: 210 解决: 39[提交][状态][讨论版] 题目描述 给出一个长度为 n 的字符串(1<=n<= ...
- 第十一届“蓝狐网络杯”湖南省大学生计算机程序设计竞赛 B - 大还是小? 字符串水题
B - 大还是小? Time Limit:5000MS Memory Limit:65535KB 64bit IO Format: Description 输入两个实数,判断第一个数大 ...
- HDU ACM 1073 Online Judge ->字符串水题
分析:水题. #include<iostream> using namespace std; #define N 5050 char a[N],b[N],tmp[N]; void Read ...
- HDU4891_The Great Pan_字符串水题
2014多校第五题,当时题面上的10^5写成105,我们大家都wa了几发,改正后我和一血就差几秒…不能忍 题目:http://acm.hdu.edu.cn/showproblem.php?pid=48 ...
- Codeforces Round #309 (Div. 2) B. Ohana Cleans Up 字符串水题
B. Ohana Cleans Up Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/554/pr ...
- Codeforces Round #309 (Div. 2) A. Kyoya and Photobooks 字符串水题
A. Kyoya and Photobooks Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/5 ...
- uva 10252 - Common Permutation 字符串水题
题意:給定兩個小寫的字串a與b,請印出皆出現在兩字串中的字母,出現的字母由a~z的順序印出,若同字母出現不只一次,請重複印出但不能超過任一字串中出現的次數.(from Ruby兔) 很水,直接比较输出 ...
- 字符串水题(hdoj1049)
Problem Description Password security is a tricky thing. Users prefer simple passwords that are easy ...
随机推荐
- Git服务器 gitweb与gitLab的区别
昨天我们已经把Git服务器搭建完成了,工程的上传与下载都可以了,不过有些人不喜欢使用git命令进行操作.所以我们就搭建一个可视化操作的环境!配置gitweb和gitlab两种访问方式! 一,配置git ...
- linux下使用非root账号安装zabbix-client
linux下使用非root账号安装zabbix-client使用非root账号rusky登录:[rusky@testServer]#tar zxvf zabbix-2.4.5.tar.gz #cd z ...
- python os模块文件相关
使用前 import os导入模块 os模块: os.sep 可以取代操作系统特定的路径分割符 os.linesep 字符串给出当前平台使用的行终止符.例如,Windows使用'\r\n ...
- VS 2003 无法打开Web项目,位于服务器“http:10.45.4.70:8080”上的项目不存在
解决方法: 用记事本打开*.sln文件更改第2行 改成正确的虚拟目录 出现这种情况往往是从一台机器搬到另一台机器造成的虚拟路径名字不同
- MyEclipse安装xfire插件
xfire因为过时,MyEclipse已经将其支,如果想用只能手动添加了. 安装步骤: 1.点击help┈┈┈→install from site出现下图 在第一栏里,输出http://dist.co ...
- 1203.1——条件语句 之 if语句
用if语句可以构成分支结构.它根据给定的条件进行判断,以决定执行某个分支程序段.C语言的if语句有三种基本形式. 语句的三种形式 1) 第一种形式为基本形式:if if(表达式) 语句其 ...
- @synthesize
@synthesize 相当于把属性当成成员变量来用,不用再写self.属性@synthesize myButton; 这样写了之后,那么编译器会自动生成myButton的实例变量,以及相应的gett ...
- 进阶笔记(2)——JavaScript语言精碎
正则 / 正则表达式 / ^ 表示字符串开始 (?:...) 表示一个非捕获型分组(没多大意义) 后缀 ? 表示匹配 0 或 1次 ( ... ) 表示捕获型 ...
- MySQL游标操作指南
本篇文章是对MySQL游标的具体使用进行了详细的分析介绍,需要的朋友参考下 测试表 level 代码如下: create table test.level (name varchar(20)); ...
- Mysql 建表时,日期时间类型选择
mysql(5.5)所支持的日期时间类型有:DATETIME. TIMESTAMP.DATE.TIME.YEAR. 几种类型比较如下: 日期时间类型 占用空间 日期格式 最小值 最大值 零值表示 D ...