【C++ Primer Plus】编程练习答案——第5章
1 void ch5_1() {
2 using namespace std;
3 int small, big, sum{0};
4 cout << "enter small and big: " << endl;
5 cout << "small: "; cin >> small;
6 cout << "big: "; cin >> big;
7 for (int i = small; i <= big; ++ i)
8 sum += i;
9 cout << "sum between " << small << "and " << big << ": " << sum << endl;
10 }
11
12 void ch5_2() {
13 using namespace std;
14 const int ArrSize = 101;
15 array<long double, ArrSize> factorials;
16 factorials[0] = factorials[1] = 1;
17 for (int i = 2; i < ArrSize; ++ i)
18 factorials[i] = factorials[i-1] * i;
19 for (int i = 0; i < ArrSize; ++ i)
20 cout << i << "! = " << factorials[i] << endl;
21 }
22
23 void ch5_3() {
24 using namespace std;
25 int num, sum{0};
26 cout << "enter a num (quit by 0): ";
27 cin >> num;
28 while (num) {
29 sum += num;
30 cout << "sum == " << sum << ", next num: ";
31 cin >> num;
32 }
33 }
34
35 void ch5_4() {
36 using namespace std;
37 double D_money{100}, C_money{100}, sin_factor{0.1}, mul_factor{0.05};
38 int year_count = 1;
39 while (C_money <= D_money) {
40 D_money += 100 * sin_factor;
41 C_money += C_money * mul_factor;
42 cout << "year " << year_count << ": C: " << C_money << " D:" << D_money << endl;
43 ++ year_count;
44 }
45 }
46
47 void ch5_5() {
48 using namespace std;
49 const char * MONTHSNAME[12] = {
50 "January", "February", "March",
51 "April", "May", "June",
52 "July", "August", "September",
53 "October", "November", "December"
54 };
55 int sales[12]{0}, sum{0};
56 for (int i = 0; i < 12; ++ i) {
57 cout << "enter sales in " << MONTHSNAME[i] << ":";
58 cin >> sales[i];
59 sum += sales[i];
60 }
61 cout << "all sales: " << sum;
62 }
63
64 void ch5_6() {
65 using namespace std;
66 const char * MONTHSNAME[12] = {
67 "January", "February", "March",
68 "April", "May", "June",
69 "July", "August", "September",
70 "October", "November", "December"
71 };
72 int sales[3][12]{0}, sum{0};
73 for (int i = 0; i < 3; ++ i) {
74 cout << "enter sales in year " << i + 1 << endl;
75 for (int j = 0; j < 12; ++ j) {
76 cout << MONTHSNAME[j] << ":";
77 cin >> sales[i][j];
78 sum += sales[i][j];
79 }
80 }
81 cout << "all sales: " << sum;
82 }
83
84 void ch5_7() {
85 using namespace std;
86 struct Car{
87 string brand;
88 unsigned int year;
89 };
90 Car * car_arr;
91 unsigned int num{0};
92 cout << "how many cars do you wish to catalog? ";
93 cin >> num; cin.get();
94 car_arr = new Car[num];
95 for (int i = 0; i < num; ++ i) {
96 cout << "Car# " << i + 1 << ":" << endl;
97 cout << "enter brand: ";
98 getline(cin, car_arr[i].brand);
99 cout << "enter year: ";
100 cin >> car_arr[i].year; cin.get();
101 }
102 cout << "here's your collection: " << endl;
103 for (int i = 0; i < num ;++ i)
104 cout << car_arr[i].year << " " << car_arr[i].brand << endl;
105 }
106
107 void ch5_8() {
108 using namespace std;
109 char word[100];
110 unsigned int count{0};
111 cout << "Enter words (to stop, type the word done):" << endl;
112 cin >> word;
113 while (strcmp(word, "done") != 0) {
114 ++ count;
115 cin.get();
116 cin >> word;
117 }
118 cout << "You entered a total of " << count << " words.";
119 }
120
121 void ch5_9() {
122 using namespace std;
123 string word;
124 unsigned int count{0};
125 cout << "Enter words (to stop, type the word done):" << endl;
126 cin >> word;
127 while (word != "done") {
128 ++ count;
129 cin.get();
130 cin >> word;
131 }
132 cout << "You entered a total of " << count << " words.";
133 }
134
135 void ch5_10() {
136 using namespace std;
137 unsigned int rows{0};
138 cout << "enter number of rows: ";
139 cin >> rows;
140 for (int i = 0; i < rows; ++ i) {
141 for (int j = 0; j < rows - i - 1; ++ j)
142 cout << '.';
143 for (int k = 0; k < i + 1; ++ k)
144 cout << '*';
145 cout << endl;
146 }
147 }
【C++ Primer Plus】编程练习答案——第5章的更多相关文章
- 【C++ Primer Plus】编程练习答案——第12章
1 // chapter12_1_cow.h 2 3 4 #ifndef LEARN_CPP_CHAPTER12_1_COW_H 5 #define LEARN_CPP_CHAPTER12_1_COW ...
- 【C++ Primer Plus】编程练习答案——第11章 (待更新)
最近开学,事情较多,过两天更新...
- 【C++ Primer Plus】编程练习答案——第10章
1 // chapter10_1_account.h 2 3 #ifndef LEARN_CPP_CHAPTER10_1_ACCOUNT_H 4 #define LEARN_CPP_CHAPTER10 ...
- 【C++ Primer Plus】编程练习答案——第9章
1 // chapter09_golf.h 2 3 #ifndef LEARN_CPP_CHAPTER09_GOLF_H 4 #define LEARN_CPP_CHAPTER09_GOLF_H 5 ...
- 【C++ Primer Plus】编程练习答案——第8章
1 void ch8_1_print(const std::string & str, int n = 0 ) { 2 using namespace std; 3 static int fl ...
- 【C++ Primer Plus】编程练习答案——第7章
1 double ch7_1_harmonicaverage(double a, double b) { 2 return 2 / (1 / a + 1 / b); 3 } 4 5 void ch7_ ...
- 【C++ Primer Plus】编程练习答案——第6章
1 void ch6_1() { 2 using namespace std; 3 char ch; 4 while ((ch = cin.get()) != '@') { 5 if (isdigit ...
- 【C++ Primer Plus】编程练习答案——第4章
1 void ch4_1() { 2 using namespace std; 3 string fname, lname; 4 char grade; 5 unsigned int age; 6 c ...
- 【C++ Primer Plus】编程练习答案——第3章
1 void ch3_1() { 2 using namespace std; 3 unsigned int factor = 12; 4 unsigned int inch, feet; 5 cou ...
随机推荐
- MySQL常用权限操作
MySQL常用权限操作 ** ubuntu mysql 8.0.21修改root密码 ** 1.查看默认安装密码: sudo cat /etc/mysql/debian.cnf 2. 登录mysql ...
- 基于 Mysql 实现一个简易版搜索引擎
前言 前段时间,因为项目需求,需要根据关键词搜索聊天记录,这不就是一个搜索引擎的功能吗? 于是我第一时间想到的就是 ElasticSearch 分布式搜索引擎,但是由于一些原因,公司的服务器资源比较紧 ...
- Docker安装MySQL集群【读写分离】
Centos7系统Docker安装 目录 Centos7系统Docker安装 目录 Centos7系统Docker安装 1.下载mysql镜像 2.创建Master实例并启动 参数说明 3.创建Sla ...
- 源码解析.Net中DependencyInjection的实现
前言 笔者的这篇文章和上篇文章思路一样,不注重依赖注入的使用方法,更加注重源码的实现,我尽量的表达清楚内容,让读者能够真正的学到东西.如果有不太清楚依赖注入是什么或怎么在.Net项目中使用的话,请点击 ...
- 4种Golang并发操作中常见的死锁情形
摘要:什么是死锁,在Go的协程里面死锁通常就是永久阻塞了,你拿着我的东西,要我先给你然后再给我,我拿着你的东西又让你先给我,不然就不给你.我俩都这么想,这事就解决不了了. 本文分享自华为云社区< ...
- GUI编程路线
基本路线
- Java创建线程池的方法
Executors创建四种线程池: CachedThreadPool:可缓存的线程池,该线程池中没有核心线程,非核心线程的数量为Integer.max_value,当有需要时创建线程来执行任务,没有需 ...
- Linux常用命令 - 五种创建文件命令详解
21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1672457.html 创建文 ...
- JS004. 获取数组最后一个元素且不改变数组的四种方法
TAG: Array.length Array.prototype.reverse() Array.prototype.slice() Array.prototype.pop() Array对象 - ...
- MySQL高级语句(一)
一.MySQL高级进阶SQL 语句 1.SELECT 2.DISTINCT 3.WHERE 4.AND.OR 5.IN 6.BETWEEN 7.通配符.LIKE 8.ORDER BY 9.| | 连 ...