C++ Primer 9.40习题 计算sentence有多少个单词,并输出最长、最短的单词d

本篇博客主要解决C++ Primer 9.40练习,通过迭代器遍历sentence,计算单词总数,同时找出最长和最短的单词。利用vector<string>存储最长和最短单词,遇到更长或等长的单词时更新容器。
摘要由CSDN通过智能技术生成

代码思路:

1、单词数 = 空格数 + 1

2、采用迭代器遍历sentence,用两个迭代器b,e来锁定一个单词,并用一个string对象tmp记录该单词

3、由于最长、最短的单词可能不止一个,所以用vector<string>存储最长、最短单词,当发现一个最长的单词时,先调用clear清空该容器,然后再用assign把单词存入maxlegth,遇到长度相同的时采用push_back()操作,将单词压入容器

#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
	string line1 = "we are her pride of 10 she named us"; 
	string line2 ="benjamin phoenix 12 the 13 prodegal"; 
	string line3 ="and perspicacious pacific suzanne";   
	
	string sentence = line1 + ' ' + line2 + ' ' + line3;
	string::iterator iter = sentence.begin();
	string::iterator b, e;			//记录一个单词的范围
	stri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值