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

C++ primer学习记录

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

C++ primer学习记录

最近在看c++ primer,在此开个贴记录一下自己的学习状况,也算是一种督促。希望能跟搜到此贴的小伙伴进行一些学习上的交流。

1.5.1节练习

练习1.20

http://www.informit.com/title/0321714113

3.4.1节练习

练习3.21 略

练习3.22

头文件和using声明是为了练习方便一直带着的,就直接贴上来了。

#include 
#include 
#include 
using std::string;
using std::cin;
using std::cout;
using std::endl;
using std::vector;
int main()
{
	string str1;
	vector  str;
	while (cin >> str1) 
	{
		if (str1 == "*")
			break;
		str.push_back(str1);
	}
	for (auto i = str.begin(); i != str.end() && !(*i).empty(); ++i) 
	{
		for (int j = 0; j < (*i).size(); ++j) 
		{
			(*i)[j] = toupper((*i)[j]);
		}
		cout << *i << endl;
	}
	return 0;
}

练习3.23

#include 
#include 
#include 
using std::string;
using std::cin;
using std::cout;
using std::endl;
using std::vector;
int main()
{
	int num;
	vector  num_set;
	while (cin >> num) 
	{
		num_set.push_back(num);
	}
	for (auto it = num_set.begin(); it != num_set.end(); ++it ) 
	{
		*it = 2 * (*it);
	}
	for (auto a : num_set)
	cout << a << endl;
	return 0;
}

3.4.2节练习

练习3.24

相邻整数和

#include 
#include 
#include 
using std::string;
using std::cin;
using std::cout;
using std::endl;
using std::vector;
int main()
{
	int num;
	vector  num_set;
	while (cin >> num) 
	{
		num_set.push_back(num);
	}
	for (auto it = num_set.begin(); it < num_set.end()-1; ++it ) 
	{
		*it = *it+(*(it+1));
		cout << *it << endl;
	}
	return 0;
}

首尾和

#include 
#include 
#include 
using std::string;
using std::cin;
using std::cout;
using std::endl;
using std::vector;
int main()
{
	int num;
	vector num_set;
	while(cin >> num)
	{
		num_set.push_back(num);
	}
	for (auto it = num_set.begin(), it1 = num_set.end(); it != it1; ++it)
	{
		--it1;
		cout << *it + *it1<< endl;
	}

	return 0;
}

练习3.25

#include 
#include 
#include 
using std::string;
using std::cin;
using std::cout;
using std::endl;
using std::vector;
int main()
{
	vector scores(11,0);
	unsigned grade;
	while (cin >> grade)
	{
		auto it = scores.begin(); 
			*(it + grade/10) = *(it + grade/10) + 1;
	}
	for (auto a : scores)
		cout << a << endl;
	return 0;

练习3.26

end - beg 返回的是两个迭代器之间的距离,迭代器与迭代器之间不支持加法。

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

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

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