C++ //练习 14.39 修改上一题的程序令其报告长度在1至9之间的单词有多少个、长度在10以上的单词又有多少个。

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;
}
相关推荐
OPEN-F4 小时前
C++进阶教程:继承与多态
开发语言·c++
鹿角片ljp5 小时前
LeetCode 236. 二叉树的最近公共祖先|递归后序
算法
luj_17685 小时前
大律师考核应重能力与科技素养
c语言·开发语言·c++·经验分享·算法
无定义_6 小时前
Floyd——Warshall
算法
刃神太酷啦6 小时前
Linux 系统 MySQL 完整安装配置教程:从卸载 MariaDB 到优化 my.cnf----《Hello MySQL!》(1)
android·linux·c语言·c++·mysql·leetcode·mariadb
带多刺的玫瑰6 小时前
Leecode#9刷题之回文数
数据结构·算法
leonkay7 小时前
C# 特性(Attribute)——【1】基础讲解
开发语言·青少年编程·面试·c#·.net·个人开发
harmful_sheep7 小时前
java group by常见用法
java·开发语言·python
泯泷7 小时前
手搓JSVM第 5 篇:写第一个编译器:从 AST 生成 IR
前端·javascript·算法
SKH.7 小时前
Linux软件编程(6)线程间通信
java·开发语言·数据库