【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 ...
随机推荐
- File--字节流--字符流
File类 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 1.构造方法 public File(String pathname) :通过将给定 ...
- 分治算法:Tromino谜题,L型覆盖
1 public class Tromino { 2 3 static int num = 2; 4 //x 对应 第二维 5 //y 对应 第一维 6 static int[][] panel = ...
- 理解Flink中的Task和SUBTASK
1.概念 Task(任务):Task是一个阶段多个功能相同的subTask 的集合,类似于Spark中的TaskSet. subTask(子任务):subTask是Flink中任务最小执行单元,是一个 ...
- ArrayList线程不安全怎么办?(CopyOnWriteArrayList详解)
ArrayList线程不安全怎么办? 有三种解决方法: 使用对应的 Vector 类,这个类中的所有方法都加上了 synchronized 关键字 就和 HashMap 和 HashTable 的关系 ...
- 记录Mac下使用Charles抓包
抓包 简述 在网络应用如后端系统,app,小程序等的开发过程中,免不了接口可能会报错,但是一般在app中或者小程序中没有便捷的console控制台,而且线上环境也不会开启调试模式,所以想看一下接口的响 ...
- vue 引用省市区三级联动(插件)
vue 用省市区三级联动之傻瓜式教程(复制粘贴即用) npm 下载 npm install v-distpicker --save main.js //引入 省市区三级联动 import Distpi ...
- Echarts中Option属性设置
目录 一.title--标题组件 二.legend--图例组件 三.tooltip--提示框组件 四.grid--可用于调整图例在整个容器中的占位 五.xAxis--x 轴 六.yAxis-y 轴 七 ...
- noip模拟43
A. 第一题 儿子遍历顺序按深度由小到大即可 B. 第二题 二分最小值,以点权作为初始距离跑最长路即可 直接用大根堆跑 \(dij\) 会 \(T\),考虑初始权值可以处理,且边权一定,用类似蚯蚓的方 ...
- 20210712考试-2021noip11
这篇总结比我写的好多了建议直接去看 T1 简单的序列 考场:愣了一会,想到以最大值分治.每次枚举最大值两侧更小的区间,st表预处理前缀和和最大值,用桶统计答案. 注意分治时要去掉最大值. const ...
- redis 主从复制详解
引言 我们之前操作 Redis 都是单机版,但是实际应用中没人使用单机版,都是搭建集群的方式.这篇文章要介绍的主从复制,是指将一台 Redis 服务器的数据,复制到其他 Redis 服务器,我们将前者 ...