在一段文本中搜索并打印出包含某个单词的句子,根据出现次数排序
2014-10-06 19:19
281 查看
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;"> #include <map></span>
#include <iostream> #include <functional> //因为用了greater<int>() // #include <utility>---包含最基本的STL using namespace std; <pre name="code" class="cpp">不区分大小写
//先统计一句话出现的单词的次数 int match(const char *s, const char *p = "your") { if(s == NULL || s == "") return 0; int i = 0, j = 0; int count = 0; while(s[i] != '\0'){ if(s[i] == p[j] || s[i] == p[j] - 32 ) ++j; else j = 0; if(p[j] == '\0'){ ++count; j = 0; } ++i; } return count; }
//再利用新的map存放 int main() { char* array[] = {"Make yourself at home" ,"None of your business" ,"I will be more careful" ,"How about going to a move?" ,"Your life is your own affair" ,0}; typedef multimap<int,char*,greater<int>> mymap; //greater<int>为内置比较函数 mymap mp; for(int i = 0; array[i] != 0; ++i){ mp.insert(make_pair(match(array[i]),array[i])); } for(mymap::iterator it = mp.begin(); it != mp.end(); ++it){ if(it->first != 0) cout<<it->first<<" "<<it->second<<'\n'; } cout<<endl; return 0; }
相关文章推荐
- Python实现计算一段文本中每个单词出现的次数
- java 在一段英文文本中计算每个单词出现的次数
- java编程题:输入一段英文,获取每个单词出现的次数跟位置,并排序
- IOS菜鸟的所感所思(十一)——统计文本中单词出现的次数并按照次数高低排序
- 请实现一个函数能够计算一段文本中每个单词出现的次数。
- 使用java,计算一段文本中出现英语单词次数最多的单词
- java-统计一段句子中各单词出现的次数
- 统计文本中单词出现次数,打印出现次数最多的前10个.文本大小30KB~300KB
- 练习 6-4 编写一个程序,根据单词的出现频率按降序打印输入的各个不同单词,并在 每个单词的前面标上它的出现次数
- Python实现计算一段文本中每个单词出现的次数
- 利用stl统计单词出现次数并排序
- 针对一个文件 统计其中的单词和字符数 找出文件中出现次数最多的单词数 将文件中出现的单词按频率进行排序并输出
- Akka学习笔记03--计算多个句子中每个单词出现的次数
- Linux作业(三)-shell统计某文章中出现频率最高的N个单词并排序输出出现次数
- OpenCL-- 统计给定单词在文本中出现次数
- C++统计英语句子中各个单词出现的次数
- awk统计文本中同一数据出现的次数排序(转)
- 一个利用map统计一段英文文章中每个单词出现次数的小程序
- java实现读取一篇英文文章,统计其中每个单词出现的次数并排序输出