栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++primer练习题5.14/520/521

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++primer练习题5.14/520/521

#include
using namespace std;
#include
#include
int main()
{
	string s, before_s = ""; //初始化中间变量
	vectormy_string_vector;
	int num = 1, m = 0;
	vectorrepeat_number;
	while (cin >> s)
	{
		if (before_s =="")//判断
		{
			before_s = s;
			my_string_vector.push_back(before_s);
		}
		else if (before_s == s)
		{
			++num;
			++m;
		}
		else
		{
			repeat_number.push_back(num);
			before_s = s;
			num = 1;
			my_string_vector.push_back(before_s);
			m = 1;
		}
	}
	repeat_number.push_back(m);
	int a = 0;
	for (auto i = repeat_number.begin(); i != repeat_number.end(); i++)
	{
		if ((*i) > a)
		{
			a = (*i);
		}
	}
	for (int i=0;i 

参考来源 : (20条消息) C++Primer第五版 第五章习题答案(11~20)_MISAYAONE的博客-CSDN博客c

参考博客记录次数的vector容器中0开头,与存放string的vector中不能一一对应

通过事先判断是否处在开头位置,减少了记录次数容器的一次插入

520/521

#include   
#include   
#include   
using namespace std;

int main()
{
	string s, before_s;
	int num = 0;
	do
	{
		cin >> s;
		if (!isupper(s[0]))//判断首字符是否大写
		{
			continue;
		}
		if (before_s == s)
		{
			cout << "首字符大写的重复单词为:" << s << endl;
			num++;  //有重复时计数
			break;
		}
		else
		{
			before_s = s;
			s = "";
		}
	} while (cin);
	if (num == 0)//计数为0 无重复
	{
		cout << "无重复单词" << endl;
	}
	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1008405.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号