刚写了个统计单词个数的代码,有一点问题
#include <iostream>#include <vector>#include <string>using namespace std;int main(){ string word,temp=" "; int cnt=0; vector<int> veci; vector<string> vecs; while(cin>>word&& word!=" ") { if(word==temp) { cnt++; } else { vecs.push_back(word); veci.push_back(cnt); temp=word; cnt=1; } } for(int i=1;i!=vecs.size();++i) { cout<<vecs[i]<<":"<<veci[i]<<endl; } int maxval=0,j=1,t=0; for(;j!=veci.size();++j) { if(maxval<veci[j]) { maxval=veci[j]; t=j; } } cout<<"The most string is:"<<vecs[j]<<" number: "<<maxval<<endl;}
#include <iostream>#include <map>#include <string>using namespace std;int main(){ map<string,int> word; string str; while( cin >> str ) { word[str]++; } cin.clear(); cin.sync(); int max = 0; map<string,int>::iterator iter; for( iter = word.begin(); iter != word.end(); ++iter ) { if( max < iter->second ) max = iter->second; cout << iter->first << ":"<< iter->second << endl; } for( iter = word.begin(); iter != word.end(); ++iter ) { if( max == iter->second ) { cout<<"The most string is:"<< iter->first <<" number: "<<max<<endl; } } return 0;}