C++Primer第五版 3.4.1节练习
来源:互联网 发布:js排序 编辑:程序博客网 时间:2024/05/29 04:26
练习3.21:请使用迭代器重做3.3.3节(第94页)的第一个练习。
练习3.22:修改之前那个输出text第一段的程序,首先把text的第一段都改写成大写形式,然后再输出它。
练习3.23:编写一段程序,创建一个含有10个整数的vector对象,然后使用迭代期,将所有元素的值都变成原来的两倍。输出vector对象的内容,检验程序是否正确。
答案:见云盘程序。
练习3.21
#include <iostream>#include <vector>using namespace std;int main(){ vector<int> v1; for (auto it = v1.begin(); it != v1.end(); ++it) cout << *it << " "; cout << endl; vector<int> v2(10); for (auto it = v2.begin(); it != v2.end(); ++it) cout << *it << " "; cout << endl; vector<int> v3(10,42); for (auto it = v3.begin(); it != v3.end(); ++it) cout << *it << " "; cout << endl; vector<int> v4{10}; for (auto it = v4.begin(); it != v4.end(); ++it) cout << *it << " "; cout << endl; vector<int> v5{10,42}; for (auto it = v5.begin(); it != v5.end(); ++it) cout << *it << " "; cout << endl; vector<string> v6{10}; for (auto it = v6.begin(); it != v6.end(); ++it) cout << *it << " "; cout << endl; vector<string> v7{10,"hi"}; for (auto it = v7.begin(); it != v7.end(); ++it) cout << *it << " "; cout << endl; return 0; }
练习3.22
#include <iostream>#include <string>#include <vector>using namespace std;int main(){ string word; vector<string> text; //while (cin >> word) while(getline(cin , word)) text.push_back(word); for (auto it = text.begin(); it != text.end() && !(*it).empty(); ++it) { // for (auto j = (*it).begin(); j != (*it).end(); ++j) // j = toupper(j); for (auto &j : *it) // 引用加不加 区别很大,不信你试试,引用加了,代表已经修改整个都变 j = toupper (j); cout << *it <<endl; } return 0;}
练习3.23
#include <iostream>#include <vector>using namespace std;int main(){ vector<int> ivec(10, 42); for (auto it = ivec.begin(); it != ivec.end(); ++it) { *it += *it; cout << *it << " "; } cout << endl; return 0;}
0 0
- C++Primer第五版 3.4.1节练习
- C++Primer 第五版 1.1节练习
- C++Primer第五版 1.3节练习
- C++Primer第五版 1.6节练习
- C++Primer第五版 2.4节练习
- C++Primer第五版 3.1节练习
- C++Primer第五版 4.2节练习
- C++Primer第五版 4.3节练习
- C++Primer第五版 4.4节练习
- C++Primer第五版 4.6节练习
- C++Primer第五版 4.7节练习
- C++Primer第五版 4.8节练习
- C++Primer第五版 4.9节练习
- C++Primer第五版 4.5节练习
- C++Primer第五版 5.1节练习
- C++Primer第五版 5.2节练习
- C++Primer第五版 6.1节练习
- C++Primer第五版 6.4节练习
- 对大量数据进行排序
- Oracle Listener 动态注册 与 静态注册
- C#—静态成员和实例成员
- Number of Islands C++
- 分布式消息队列RocketMQ部署与监控
- C++Primer第五版 3.4.1节练习
- Java进阶之路
- linux下tar.gz、tar、bz2、zip等解压缩、压缩命令汇总
- 行为型模式:命令模式(Command Pattern)
- python内存使用情况
- Android4.2.2 SurfaceFlinger的相关事件和消息处理机制
- Linux下memcached安装和启动方法
- MTALL 模块及开发板 OPENWRT 编译教程
- php中的mysql和mysqli