3.2:
一次读入一行:
#include <iostream>
using namespace std;
#include<string>
int main()
{
string s;
while (getline(cin, s))
{
cout << s << endl;
}
system("pause");
return 0;
}
一次读入一个词:
#include <iostream>
using namespace std;
#include<string>
int main()
{
string s;
while (cin >> s)
{
cout << s << endl;
}
system("pause");
return 0;
}
3.4:
#include <iostream>
using namespace std;
#include<string>
int main()
{
string s1;
cin >> s1;
string s2;
cin >> s2;
if (s1 == s2)
{
cout << "相等" << endl;
}
else
{
string s3 = (s1 > s2 ? s1 : s2);
cout << s3 << endl;
}
system("pause");
return 0;
}
3.5:
#include <iostream>
using namespace std;
#include<string>
int main()
{
string s1;
if (cin >> s1)
{
string s2;
while (cin >> s2)
{
s1 = s1 + " " + s2;
}
cout << s1 << endl;
}
else
{
cout << "再见" << endl;
}
system("pause");
return 0;
}
3.6:
#include <iostream>
using namespace std;
#include<string>
int main()
{
string s1 = "hello world";
for (auto& s : s1)
{
s = 'x';
}
cout << s1 << endl;
system("pause");
return 0;
}
3.8:
for循环:
#include <iostream>
using namespace std;
#include<string>
int main()
{
string s1 = "hello world";
for (int i = 0; i < s1.size(); i++)
{
s1.at(i) = 'x';
}
cout << s1 << endl;
system("pause");
return 0;
}
3.10:
#include <iostream>
using namespace std;
#include<string>
int main()
{
string s1 = "hello,,,,,world,,,";
for (auto& s : s1)
{
if (!ispunct(s))
{
cout << s;
}
}
cout << endl;
system("pause");
return 0;
}
3.14:
#include <iostream>
using namespace std;
#include<vector>
int main()
{
vector<int> v1;
int num = 0;
while (cin >> num)
{
v1.push_back(num);
}
system("pause");
return 0;
}
3.15:
#include <iostream>
using namespace std;
#include<vector>
int main()
{
vector<string> v1;
string str1;
while (cin >> str1)
{
v1.push_back(str1);
}
system("pause");
return 0;
}
3.17
#include <iostream>
using namespace std;
#include<vector>
int main()
{
vector<string> vec;
for (string word; cin >> word; vec.push_back(word));
for (auto& str : vec)
{
for (auto& c : str) c = toupper(c);
}
for (string::size_type i = 0; i != vec.size(); ++i)
{
cout << vec[i] << endl;
}
system("pause");
return 0;
}
3.20
第一部分:
#include <iostream>
using namespace std;
#include<vector>
int main()
{
vector<int> vec;
for (int v; cin >> v; vec.push_back(v));
for (int i = 0; i < vec.size() - 1; i++)
{
cout << vec[i] + vec[i + 1] << " ";
}
cout << endl;
system("pause");
return 0;
}
第二部分:
#include <iostream>
using namespace std;
#include<vector>
int main()
{
vector<int> vec;
for (int v; cin >> v; vec.push_back(v));
auto size = (vec.size() + 1) / 2;
for (int i = 0; i < size; i++)
{
cout << vec[i] + vec[vec.size()-i-1] << " ";
}
cout << endl;
system("pause");
return 0;
}
3.22:
#include <iostream>
using namespace std;
#include<vector>
int main()
{
vector<string>vs;
for (string s; cin >> s; vs.push_back(s));
for (auto it = vs.begin(); it != vs.end(); ++it)
{
if (!(*it).empty())
{
for(auto it2 = (*it).begin();it2!= (*it).end();it2++)
*it2 = toupper(*it2);
}
}
for (auto it = vs.begin(); it != vs.end(); ++it)
{
cout << *it << endl;
}
system("pause");
return 0;
}
3.23:
#include <iostream>
using namespace std;
#include<vector>
int main()
{
vector<int>vi;
for (int i = 0; i < 10; ++i)
{
vi.push_back(i + 1);
}
for (vector<int>::iterator it = vi.begin(); it != vi.end(); ++it)
{
*it *= 2;
}
for (auto it = vi.begin(); it != vi.end(); ++it)
{
cout << *it << " ";
}
cout << endl;
system("pause");
return 0;
}
3.24:
#include <iostream>
using namespace std;
#include<vector>
int main()
{
vector<int>vi;
for (int i; cin >> i; vi.push_back(i));
for (auto beg = vi.begin(), end = vi.end(); beg < end; beg++, end--)
{
cout << *beg + *(end - 1) << " ";
}
cout << endl;
system("pause");
return 0;
}
3.31:
#include <iostream>
using namespace std;
int main()
{
int arr[10];
for (size_t i = 0; i < 10; ++i)
{
arr[i] = i;
}
for (auto a : arr)
{
cout << a << " ";
}
cout << endl;
system("pause");
return 0;
}
3.32:
#include <iostream>
using namespace std;
#include <vector>
int main()
{
int arr[10];
for (size_t i = 0; i < 10; ++i)
{
arr[i] = i;
}
int arr2[10];
for (size_t i = 0, j = 0; i < 10 &&j < 10; ++i, ++j)
{
arr2[j] = arr[i];
}
for (auto a : arr2)
{
cout << a << " ";
}
cout << endl;
vector<int>v1;
for (int i = 0; i < 10; ++i)
{
v1.push_back(arr[i]);
}
for (auto v : v1)
{
cout << v << " ";
}
cout << endl;
system("pause");
return 0;
}
3.35:
#include <iostream>
using namespace std;
#include<iterator>
int main()
{
int arr[10];
int* beg = begin(arr);
int* last = end(arr);
for (; beg < last; beg++)
{
*beg = 0;
}
for (auto i : arr) cout << i << " ";
cout << endl;
system("pause");
return 0;
}
3.32:
#include <iostream>
using namespace std;
#include<iterator>
int main()
{
int arr1[] = { 0,1,2,3 };
int arr2[] = { 0,1,2,3,4 };
int* p1 = begin(arr1);
int* p2 = begin(arr2);
if (end(arr1) - p1!= end(arr2) - p2)
{
cout << "这两个数组不相等" << endl;
}
else
{
while (p1 < end(arr1))
{
if (*p1 != *p2)
{
cout << "这两个数组不相等" << endl;
break;
}
else
{
p1++;
p2++;
}
}
if (p1 == end(arr1))
{
cout << "这两个数组相等" << endl;
}
}
system("pause");
return 0;
}
3.39:
#include <iostream>
using namespace std;
int main()
{
char c1[] = { 'h','e','l','\0'};
char c2[] = { 'h','e','l','l','\0'};
if (strcmp(c1, c2) == 0)
{
cout << "相等" << endl;
}
else if (strcmp(c1, c2) > 0)
{
cout << "第一个大" << endl;
}
else
{
cout << "第二个大" << endl;
}
system("pause");
return 0;
}
3.40:
#include <iostream>
using namespace std;
#include <string>
int main()
{
char a[] = "Hello";
char b[] = "world";
char c[100];
strcpy_s(c, a);
strcat_s(c, " ");
strcat_s(c, b);
cout << c << endl;
system("pause");
return 0;
}
3.41:
#include <iostream>
using namespace std;
#include<vector>
int main()
{
int arr[] = { 1,2,3,4,5,6 };
vector<int> v(begin(arr), end(arr));
for (auto vv : v)
{
cout << vv << " ";
}
cout << endl;
system("pause");
return 0;
}
3.42:
#include <iostream>
using namespace std;
#include<vector>
int main()
{
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
v.push_back(5);
v.push_back(6);
int arr[6];
for (int i = 0; i < 6; ++i)
{
arr[i] = v[i];
}
for (int i = 0; i < 6; ++i)
{
cout << arr[i] << " ";
}
cout << endl;
system("pause");
return 0;
}
3.43:
#include <iostream>
using namespace std;
int main()
{
int ia[3][4] = {
{0,1,2,3},
{4,5,6,7},
{8,9,10,11} };
for (int(&row)[4] : ia)
{
for (int col : row)
{
cout << col << " ";
}
}
cout << endl;
cout << "***************************" << endl;
for (int i = 0; i < 3; ++i)
{
for (int j = 0; j < 4; ++j)
{
cout << ia[i][j] << " ";
}
}
cout << endl;
cout << "***************************" << endl;
for (int(* p)[4] = begin(ia); p != end(ia); ++p)
{
for (int* q = *p; q != *p + 4; ++q)
{
cout << *q << " ";
}
}
cout << endl;
system("pause");
return 0;
}
3.44:
#include <iostream>
using namespace std;
int main()
{
int ia[3][4] = {
{0,1,2,3},
{4,5,6,7},
{8,9,10,11} };
using int_array = int[4];
for (int_array&row : ia)
{
for (int col : row)
{
cout << col << " ";
}
}
cout << endl;
cout << "***************************" << endl;
for (int i = 0; i < 3; ++i)
{
for (int j = 0; j < 4; ++j)
{
cout << ia[i][j] << " ";
}
}
cout << endl;
cout << "***************************" << endl;
for (int_array*p =ia; p != ia + 3; ++p)
{
for (int* q = *p; q != *p + 4; ++q)
{
cout << *q << " ";
}
}
cout << endl;
system("pause");
return 0;
}
3.45:
#include <iostream>
using namespace std;
int main()
{
int ia[3][4] = {
{0,1,2,3},
{4,5,6,7},
{8,9,10,11} };
for (auto&row : ia)
{
for (auto col : row)
{
cout << col << " ";
}
}
cout << endl;
cout << "***************************" << endl;
for (auto i = 0; i < 3; ++i)
{
for (auto j = 0; j < 4; ++j)
{
cout << ia[i][j] << " ";
}
}
cout << endl;
cout << "***************************" << endl;
for (auto p =ia; p != ia + 3; ++p)
{
for (auto q = *p; q != *p + 4; ++q)
{
cout << *q << " ";
}
}
cout << endl;
system("pause");
return 0;
}