读书人

统计重复单词数但运行结果不太对不

发布时间: 2012-04-01 17:23:46 作者: rapoo

统计重复单词数,但运行结果不太对,不知道那里错了
例如:如果输入是:how,now now now brown cow cow
则输出应是“now”这个单词出现了三次
但程序输出不对
#include <iostream>
#include <string>
using namespace std;

int main()
{
string preWord,currWord;
string repWord;
int currCnt=0,maxCnt=1;
cout<<"Enter some Words(Ctrl+z to end):"<<endl;
while(cin>>currWord)
{
if(currWord==preWord)
++currCnt;
else
{
if(currCnt>maxCnt)
{
maxCnt=currCnt;
repWord=preWord;
}
currCnt=1;
}
preWord=currWord;
}
if(maxCnt!=1)
cout<<'"'<<repWord<<'"'<<"repeated for"<<maxCnt<<"times."<<endl;
else
cout<<"There is no repeated word."<<endl;
return 0;
}

[解决办法]
how,now这个被认为是一个单词了,楼主的程序还是不严谨啊。。。
[解决办法]
底下的可以用用!

C/C++ code
#include <iostream>#include <fstream>#include <string>#include <map>using namespace std;void main(void)              {    ifstream input("d:\\1.txt");    string str;    map<string,int> string_count ;    while(input>>str){                ++string_count[str];    }        map<string,int>::iterator it=string_count.begin();        cout<<"字符串"<<"  "<<"出现次数"<<endl;    while(it!=string_count.end()){            cout<<it->first<<"     "<<it->second<<endl;        it++;    }    input.close();} 

读书人网 >C++

热点推荐