C++Primer Fifth Edition: Exercise 3.17 3.18 3.19 3.20

Exercise 3.17

#include<iostream>
#include<cctype>
using namespace std;

int main()
{
    
    
	vector<string> svec;
	string word;

	while (cin >> word)
		svec.push_back(word);
	for (auto& word : svec)
	{
    
    
		for (auto& i : word)
			i = toupper(i);
	}

	for (auto i : svec)
		cout << i << endl;
}

Exercise 3.18

int main()
{
    
    
	vector<int> ivec;
	ivec.push_back(42);
}

Exercise 3.19

int main()
{
    
    
	vector<int> vec1(10, 42);
	
	vector<int> vec2;
	for (int i = 0; i != 10; ++i)
		vec2.push_back(42);

	vector<int> vec3{
    
     42,42,42,42,42,42,42,42,42,42 };
}

The first method is better, the value is the same, the setting size is better

Exercise 3.20

int main()
{
    
    
	vector<int> vec;
	int n;

	while (cin >> n)
		vec.push_back(n);
	for (auto i = 0; i != vec.size() - 1; ++i)
		cout << vec[i] + vec[i + 1] << " ";
	cout << endl;

	for (auto i = 0; i != (vec.size() - 1) / 2; ++i)
	{
    
    
		cout << vec[i] + vec[vec.size() - 1 - i] << " ";
	}
	if (vec.size() % 2 == 1)
		cout << "中间:" << vec[(vec.size() - 1) / 2];
}

Guess you like

Origin blog.csdn.net/Xgggcalled/article/details/109052382