输入一段英文文本,用程序统计出现频率最高和最低的两个单词;
2015-07-08 20:48
555 查看
//输入一段英文文本,用程序统计出现频率最高和最低的两个单词;
//英文文本中仅出现这四类字符:空格( )、英文逗号(,)、英文句号(.)、英文大小写字母(a-z、A-Z)
//单词之间的分隔符仅考虑这三种:空格( )、英文逗号(,)、英文句号(.);
//仅大小写不同的单词算同一个单词;
//如果两个单词出现次数相同,则在文本中首次出现的单词优先返回。
//返回的单词统一用小写字母返回
//例如:
//输入字符串“Hello world, i said hello world to the world”,返回“world”,“i”
#include<iostream>
#include<string>
#include<vector>
#define word_max 100
using namespace std;
void getResult(string s)
{
int len=s.size();
vector<string> svec;
for(int i=0;i<len;i++)
{
char word[100]={0};
int j=0;
while(isalpha(s[i]))
{
word[j++]=s[i];
i++;
}
word[j]='\0';
svec.push_back(word);
}
for(int i=0;i<svec.size();i++)
cout<<svec[i]<<" ";
cout<<endl;
int num=0;
int min=word_max;
int max=0;
string w1;
string w2;
for(int i=0;i<svec.size();i++)
{
for(int j=0;j<svec.size();j++)
{
if(svec[i]==svec[j])
num++;
}
if(num>max)
{
max=num;
w1.assign(svec[i]);
}
if(num<min)
{
min=num;
w2.assign(svec[i]);
}
num=0;
}
cout<<w1<<","<<w2<<endl;
}
void main()
{
string s;
getline(cin,s);
getResult(s);
}
//输入一段英文文本,用程序统计出现频率最高和最低的两个单词;
//英文文本中仅出现这四类字符:空格( )、英文逗号(,)、英文句号(.)、英文大小写字母(a-z、A-Z)
//单词之间的分隔符仅考虑这三种:空格( )、英文逗号(,)、英文句号(.);
//仅大小写不同的单词算同一个单词;
//如果两个单词出现次数相同,则在文本中首次出现的单词优先返回。
//返回的单词统一用小写字母返回
//例如:
//输入字符串“Hello world, i said hello world to the world”,返回“world”,“i”
#include<iostream>
#include<string>
#include<vector>
#define word_max 100
using namespace std;
void getResult(string s)
{
int len=s.size();
vector<string> svec;
for(int i=0;i<len;i++)
{
char word[100]={0};
int j=0;
while(isalpha(s[i]))
{
word[j++]=s[i];
i++;
}
word[j]='\0';
svec.push_back(word);
}
for(int i=0;i<svec.size();i++)
cout<<svec[i]<<" ";
cout<<endl;
int num=0;
int min=word_max;
int max=0;
string w1;
string w2;
for(int i=0;i<svec.size();i++)
{
for(int j=0;j<svec.size();j++)
{
if(svec[i]==svec[j])
num++;
}
if(num>max)
{
max=num;
w1.assign(svec[i]);
}
if(num<min)
{
min=num;
w2.assign(svec[i]);
}
num=0;
}
cout<<w1<<","<<w2<<endl;
}
void main()
{
string s;
getline(cin,s);
getResult(s);
}
相关文章推荐
- 完全卸载干净Oracle11g
- [驱动] Framebuffer原理、使用、测试系列文章
- Project Euler:Problem 58 Spiral primes
- D3D粒子系统设计关键要点
- 字符串数字验证(算法)
- PHP学习笔记(十三):数组
- 在给定字符串中找出单词
- CDOJ 1074 秋实大哥搞算数(栈_表达式求值)
- 全志平台boot里TVD倒车显示功能开发
- 写给计算机的大学生!
- 烂泥:学习ubuntu远程桌面(二):远程桌面会话管理
- mysql集群探索与实践
- Understanding JavaScript is Vitally Important
- C++ Primer学习笔记(14)——虚函数的实现机制、纯虚函数
- 完全卸载干净Oracle11g
- 将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;
- 谷歌字体小于12号的兼容
- 324 猴子吃桃问题
- Stanford机器学习---第十二讲.推荐系统
- AngularJS时间轴指令