1.统计单词频率
#include <iostream>
#include <string>
#include <map>
#include <vector>
using namespace std;
void countWord(char *ptr,char *highword,char *lowword){
map<string,int> word;
string input=ptr;
//char temp[10]={0};
string temp;
vector<string> text;
//temp.clear();
int i,j=0;
for(i=0;i!=input.size();i++){
if(input[i]==' ' || input[i]==',' || input[i]=='.'){
temp=input.substr(j,i-j);
if(word.count(temp)!=0){
word[temp]++;
}else{
word[temp]=1;
text.push_back(temp);
}
temp.clear();
//memset(temp,0,10);
j=i+1;
}
}
int k=0,h=0;
for(i=1;i!=text.size();i++){
if(word[text[i]] < word[text[k]]){
k=i;
}
}
lowword=(char *)text[k].c_str();
for(i=1;i!=text.size();i++){
if(word[text[i]] > word[text[h]]){
h=i;
}
}
highword=(char *)text[h].c_str();
cout<<"the high word:"<<highword<<endl;
cout<<"the low word:"<<lowword<<endl;
/*for(j=1;j!=input.size();j++){
if(word[input[j]]>word[input[h]]){
h=j;
}
}
highword=word[h];*/
}
void main(){
char *src="hello world,i hope the worlds is ok.hope,test";
char hword[20],lword[20];
countWord(src,hword,lword);
}