C++ Primer(第5版) 练习 14.39
练习 14.39 修改上一题的程序令其报告长度在1至9之间的单词有多少个、长度在10以上的单词又有多少个。
环境:Linux Ubuntu(云服务器)
工具:vim
代码块
cpp
class Check{
public:
Check(int s = 0): sz(s){}
bool operator()(const string& s){
return s.size() == sz ? true : false;
}
private:
size_t sz;
};
int main(){
vector<string> str;
string s;
while(cin>>s){
str.push_back(s);
if(cin.get() == '\n'){
break;
}
}
int count = 0;
for(int i = 1; i < 10; i++){
count += count_if(str.begin(), str.end(), Check(i));
}
cout<<"Length(1~9) words: "<<count<<endl;
cout<<"Length(>=10) words: "<<str.size() - count<<endl;
return 0;
}