3.2
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
while (getline(cin, s)) {
cout << s << endl;
}
// while (cin >> s) {
// cout << s << " ";
// }
// cout << endl;
}
3.4
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1, s2;
string temp;
cin >> s1 >> s2;
if (s1 != s2) {
temp = s1 > s2 ? s1 : s2;
}
cout << temp << endl;
if (s1.size() != s2.size()) {
temp = s1.size() > s2.size() ? s1 : s2;
}
cout << temp << endl;
}
3.5
#include <iostream>
#include <string>
using namespace std;
int main()
{
string sum, s;
/* while (cin >> s) {
sum += s;
}
cout << sum << endl;
*/
string sum_2;
if (cin >> s) {
sum_2 = s;
while (cin >> s) {
sum_2 = sum_2 + " " + s;
}
}
cout << sum_2 << endl;
}
3.6
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str("As long as you love me!");
for (auto &s : str) {
s = 'X';
}
cout << str << endl;
}
3.7&&3.8
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str_1("I Wnat It That Way");
string str_2("As long as you love me");
for (char &c : str_1) {
c = 'X';
}
cout << str_1 << endl;
decltype(str_2.size()) index = 0;
while (index < str_2.size()) {
str_2[index] = 'X';
++index;
}
cout << str_2 << endl;
}
3.10
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
int main()
{
string str("As long as!!you,Love```me.");
string temp;
for (auto &c : str) {
if (!ispunct(c)) {
temp += c;
}
}
cout << temp << endl;
}
3.14&&3.15
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
/* int val;
vector<int> ival;
while (cin >> val) {
ival.push_back(val);
}
for (auto &i : ival) {
cout << i << " ";
}
cout << endl;
*/
string str;
vector<string> svec;
while (cin >> str) {
svec.push_back(str);
}
for (auto &s : svec) {
cout << s << " ";
}
cout << endl;
}
3.17
#include <iostream>
#include <string>
#include <vector>
#include <cctype>
using namespace std;
int main()
{
vector<string> svec;
string str;
while (cin >> str) {
svec.push_back(str);
}
for (decltype(svec.size()) index = 0; index < svec.size(); ++index) {
for (auto &c : svec[index]) {
c = toupper(c);
}
}
for (auto &s : svec) {
cout << s << endl;
}
}
3.20
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
vector<int> ivec;
int ival;
while (cin >> ival) {
ivec.push_back(ival);
}
for (decltype(ivec.size()) index = 0; index < ivec.size() - 1; ++index) {
cout << ivec[index] + ivec[index + 1] << " ";
}
cout << endl;
for (decltype(ivec.size()) begin = 0, end = ivec.size()-1; begin < end; ++begin, --end) {
cout << ivec[begin] + ivec[end] << " ";
}
cout << endl;
}
3.23
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> ivec(10);
int ival;
for (decltype(ivec.size()) index = 0; index < ivec.size(); ++index) {
cin >> ival;
ivec[index] = ival;
}
for (auto iter = ivec.begin(); iter != ivec.end(); ++iter) {
*iter *= 2;
}
for (auto &i : ivec) {
cout << i << " ";
}
cout << endl;
}
3.24
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> ivec;
int ival;
while (cin >> ival) {
ivec.push_back(ival);
}
for (auto iter = ivec.begin(); iter != ivec.end() - 1; iter++) {
cout << *iter + *(iter + 1) << " ";
}
cout << endl;
for (auto beg = ivec.begin(), end = ivec.end() - 1; beg < end; ++beg, --end) {
cout << *beg + *end << " ";
}
cout << endl;
}
3.25
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> ivec(11, 0);
int ival;
auto iter = ivec.begin();
while (cin >> ival) {
++*(iter + ival / 10);a
}
for (auto &i : ivec) {
cout << i << " ";
}
cout << endl;
}
3.21&&3.32
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int ia[10];
for (size_t index = 0; index < 10; ++index) {
ia[index] = index;
}
for (auto &i : ia) {
cout << i << " ";
}
cout << endl;
int ia_2[10];
for (auto &i : ia) {
ia_2[i] = i;
}
for (auto &i : ia_2) {
cout << i << " ";
}
cout << endl;
vector<int> ivec;
for (auto &i : ia) {
ivec.push_back(i);
}
for (auto &i : ivec) {
cout << i << " ";
}
cout << endl;
}
3.35&&3.36
#include <iostream>
#include <vector>
using namespace std;
int main()
{
constexpr int cnt = 3;
int ival[cnt] = { 1,2,3 };
int *pi = ival;
for (size_t index = 0; index < cnt; ++index) {
*(pi + index) = 0;
}
for (auto &i : ival) {
cout << i << " ";
}
cout << endl;
int ival_1[cnt] = { 1,2,3 };
int ival_2[cnt] = { 2,3,1 };
vector<int> ivec_1 = { 1,2 };
vector<int> ivec_2 = { 1,2 };
for (size_t index = 0; index < cnt; ++index) {
if (ival_1[index] != ival_2[index]) {
cout << "ivals non-equal" << endl;
break;
}
}
if (ivec_1 != ivec_2) {
cout << "ivecs non-equal" << endl;
}
}
3.41&&3.42
#include <iostream>
#include <vector>
#include <iterator>
using namespace std;
int main()
{
int ia[5] = { 11,22,33,44,55 };
vector<int> ivec(begin(ia), end(ia));
for (auto &i : ivec) {
cout << i << " ";
}
cout << endl;
int ival[5];
size_t index = 0;
for (auto iter = ivec.begin(); iter != ivec.end(); ++iter, ++index) {
ival[index] = *iter;
}
for (auto &i : ival) {
cout << i << " ";
}
cout << endl;
}
3.43
#include <iostream>
using namespace std;
int main()
{
int ia[3][4];
int num = 0;
//录入元素
for (auto &row : ia) {
for (auto &col : row) {
col = num;
num++;
}
}
for (auto &r : ia) {
for (auto &c : r) {
cout << c << " ";
}
}
cout << endl;
for (size_t r = 0; r < 3; ++r) {
for (size_t c = 0; c < 4; ++c) {
cout << ia[r][c] << " ";
}
}
cout << endl;
for (int (*p)[4] = ia; p != ia + 3; ++p) {
for (int *q = *p; q != *p + 4; q++) {
cout << *q << " ";
}
}
cout << endl;
}
3.44
#include <iostream>
using namespace std;
int main()
{
int ia[3][4];
size_t num = 0;
for (auto &row : ia) {
for (auto &col : row) {
col = num;
++num;
}
}
//3.44
using int_array = int[4];
for (int_array *p = ia; p != ia + 3; ++p) {
for (int *q = *p; q != *p + 4; ++q) {
cout << *q << " ";
}
}
cout << endl;
//3.45
for (auto p = ia; p != ia + 3; p++) {
for (auto q = *p; q != *p + 4; q++) {
cout << *q << " ";
}
}
cout << endl;
}