uva10815 分离字符串
2014-01-23 01:42
120 查看
题意:将从文件中读入的所有字符,大写改为小写,去掉非字母字符,然后单词去重按字典序输出。
解法:刚开始以为例如aa_bb是一个aabb单词,后来wa了几发发现要处理为两个单词。本来想重写的,后来突然发现可以在原代码上加个递归就可以处理这种情况了,感觉很舒畅,由于map本来就是按字典序排的,所以直接输出就好了。
代码:
解法:刚开始以为例如aa_bb是一个aabb单词,后来wa了几发发现要处理为两个单词。本来想重写的,后来突然发现可以在原代码上加个递归就可以处理这种情况了,感觉很舒畅,由于map本来就是按字典序排的,所以直接输出就好了。
代码:
#include <iostream> #include <map> #include <set> #include <stdio.h> using namespace std; char s1[10000]; map<string,int> maps; int main() { freopen("in.txt","r",stdin); while(scanf("%s",s1)!=EOF) { string s(s1); for(int i=0;i<s.size();i++) if(s[i]>='A'&&s[i]<='Z') s[i]='a'+s[i]-'A'; else if(s[i]>='a'&&s[i]<='z'); else s.erase(i,1); if(maps.find(s)!=maps.end()); else maps.insert(pair<string,int> (s,1)); } for(map<string,int>::iterator p=maps.begin();p!=maps.end();p++) cout<<p->first<<'\n'; return 0; }
相关文章推荐
- 华为机试 — 字符串分离
- 使用strtok_s函数从一个字符串中分离出单词
- 字符串分离方法
- sscanf进行字符串分离、提取。以及string与数值的相互转换
- 字符串处理,根据传入的参数进行分离,目前较适合字符串中提取引号包裹的部分的提取
- scanf 读入时分离字符串和整数。。
- lua 含中文的字符串处理--分离字符、计算字符数、截取指定长度
- 小技巧(四)分离字符串string str="(1,10,100,1000,10000,)";
- VC 中如何从字符串中分离文件名与路径+路径操作
- SQL2000字符串分离
- 大整数乘法,字符串分离和单链表逆转
- 【字符串】面试题之奇偶字符串分离
- 年龄巧合分离数,报时助手字符串数组,大数加法
- 语句逆序,字符串分离与连接
- scanf提取字符串 sscanf分离字符串 sprintf将数字转换为字符串
- php字符串之间多空格,采用特殊字符分离
- 从字符串中分离找出每个单词,并且寻找某个特定的单词
- C/C++ 字符串分离 strtok
- C#控制台基础 给一个字符串是文件的全称,分离出来文件的类型与名字
- SQL2000字符串分离