c++-pimer-plus-6th-chapter05
Chapter Review
1
An entry-condition loop evaluates a test expression before entering the body of the loop. If the condition is initiallyfalse
, the loop never executes its body. An exit-condition loop evaluates a test expression after processing the body of the loop. Thus, the loop body is executed once, even if the test expression is initiallyfalse
. Thefor
andwhile
loops are entry-condition loops, and thedo while
loop is an exit-condition loop.
2
It would print the following:
01234
Not that cout << endl;
is not part of the loop body (because there are no braces).
3
It would print the following:
0369
12
4
It would print the following:
6
8
5
It would print the following:
k = 8;
6
It's simplest to use the *= operator:
for (int num = 1; num <= 64; num *= 2)
cout << num << " ";
7
You enclose the statements within paired braces to form a single compound statement, or block.
8
Yes, the first statement is valid. The expression 1,024 consists of two expressions — 1 and 024 — joined by a comma operator. The value of the right-hand expression. This is 024, which is octal for 20, so the declaration assigns the value20
tox
. The second statement is also valid. However, operator precedence causes it to be evaluated as follows:
(y = 1), 024;
That is, the left expression setsy
to1
, and the value of the entire expression, which isn't used, is024
, or20
.
9
Thecin >> ch
form skips over spaces, newlines, and tabs when it encounters them. The other two forms read those characters.
Programming Exercises
1
#include <iostream>
int main()
{
using namespace std;
int n1, n2;
int sum = 0;
cout << "Input two integer numbers (example: 2 9): ";
cin >> n1;
cin >> n2;
for (int i = n1; i <= n2; ++i)
{
sum += i;
}
cout << "sum = " << sum << endl;
return 0;
}
2
#include <iostream>
#include <array>
const int ArSize = 101;
int main()
{
using namespace std;
array<long double, ArSize> factorials;
factorials[1] = factorials[0] = 1.0L;
for (int i = 2; i < ArSize; ++i)
{
factorials[i] = i * factorials[i - 1];
}
for (int i = 0; i < ArSize; ++i)
{
cout << i << "! = " << factorials[i] << endl;
}
return 0;
}
3
#include <iostream>
int main()
{
using namespace std;
double x;
double sum = 0.0;
cin >> x;
while (x != 0.0)
{
sum += x;
cin >> x;
}
cout << "sum = " << sum << endl;
return 0;
}
4
#include <iostream>
int main()
{
using namespace std;
double d, c;
d = c = 100.0;
int i;
for (i = 0; d >= c; ++i)
{
d += 0.1 * 100.0;
c *= 1.05;
}
cout << i << " year(s)\n";
cout << "Daphne: " << d << endl;
cout << "Cleo: " << c << endl;
return 0;
}
5
#include <iostream>
const char * const Months[12] =
{
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
};
int main()
{
using namespace std;
int volumes[12];
int sum = 0;
for (int i = 0; i < 12; ++i)
{
cout << "Enter the sales volume of " << Months[i] << ": ";
cin >> volumes[i];
}
for (int i = 0; i < 12; ++i)
sum += volumes[i];
cout << "Sum = " << sum << endl;
return 0;
}
6
#include <iostream>
const char * const Months[12] =
{
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
};
int main()
{
using namespace std;
int volumes[3][12];
int sum = 0;
int total = 0;
for (int i = 0; i < 3; ++i)
{
cout << "Enter the sales volumes of year: " << i + 1 << endl << endl;
for (int j = 0; j < 12; ++j)
{
cout << "Enter the sales volumes of " << Months[j] << ": ";
cin >> volumes[i][j];
}
}
for (int i = 0; i < 3; ++i)
{
for (int j = 0; j < 12; ++j)
{
sum += volumes[i][j];
}
cout << "Sales volume of year " << i + 1 << " is " << sum << endl;
total += sum;
sum = 0;
}
cout << "Sales volumes of 3 years are: " << total << endl;
return 0;
}
7
#include <iostream>
struct car
{
char make[40];
int year;
};
int main()
{
using namespace std;
int num;
car * cars;
cout << "How many cars do you wish to catalog: ";
cin >> num;
cars = new car[num];
for (int i = 0; i < num; i++)
{
cout << "Car #" << i + 1 << ":\n";
cout << "Please enter the make: ";
//cin >> cars[i].make;
cin.getline(cars[i].make, 40);
cin.get();
cout << "Please enter the year made: ";
cin >> cars[i].year;
}
cout << "Here is your collection:\n";
for (int i = 0; i < num; ++i)
cout << cars[i].year << " " << cars[i].make << endl;
delete [] cars;
return 0;
}
8
#include <iostream>
#include <cstring>
int main()
{
using namespace std;
char word[20];
int count = 0;
cout << "Enter word (to stop, type the word done):\n";
cin >> word;
while (strcmp(word, "done"))
{
++count;
cin >> word;
}
cout << "You entered a total of " << count << " words.\n";
return 0;
}
9
#include <iostream>
#include <string>
int main()
{
using namespace std;
string word;
int count = 0;
cout << "Enter word (to stop, type the word done):\n";
cin >> word;
while (word != "done")
{
++count;
cin >> word;
}
cout << "You entered a total of " << count << " words.\n";
return 0;
}
10
#include <iostream>
int main()
{
using namespace std;
cout << "Enter number of rows: ";
int n;
cin >> n;
for (int i = 0; i < n; ++i) // row
{
for (int j = 0; j < n; ++j) // column
if (j < (n - (i + 1)))
cout << ".";
else
cout << "*";
cout << endl;
}
return 0;
}
c++-pimer-plus-6th-chapter05的更多相关文章
- The 6th tip of DB Query Analyzer
The 6th tip of DB Query Analyzer MA Gen feng (Guangdong Unitoll Services incorporated, Guangzhou ...
- [转载]ECMA-262 6th Edition / Draft August 24, 2014 Draft ECMAScript Language Specification
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-23.4 Draft Report Errors and Issues at: htt ...
- chapter05
/** * Created by EX-CHENZECHAO001 on 2018-03-29. */class Chapter05 { } // 类// 类中的字段自动带有getter方法和sett ...
- Chapter05 流程控制(Process Control)
目录 Chapter05 流程控制 5.1 顺序控制 5.2 分支控制 if-else 单分支基本语法: 双分支基础语法: 多分支基础语法 5.3 嵌套分支 5.4 switch分支结构 5.5 Fo ...
- Si2151/41 6th Generation Silicon TV Tuner ICs
The Si2151/41 are the industry's most advanced silicon TV tuner ICs supporting all worldwide terre ...
- Codeforces Round #361 Jul.6th B题 ☺译
最近迈克忙着考前复习,他希望通过出门浮躁来冷静一下.迈克所在的城市包含N个可以浮躁的地方,分别编号为1..N.通常迈克在家也很浮躁,所以说他家属于可以浮躁的地方并且编号为1.迈克从家出发,去一些可以浮 ...
- Codeforces Round #361 Jul.6th A题 ☺译
A.迈克和手机 当迈克在沙滩上游泳的时候,他意外的把他的手机扔进了水里.不过你甭担心因为他立马买了个便宜些的代替品,这个代替品是老款九键键盘,这个键盘只有十个等大的数字按键,按以下方式排列: 1 2 ...
- October 6th 2016 Week 41st Thursday
The outer world you see is a reflection of your inner self. 你拥有什么样的内心,你就会看到什么样的世界. And we eventually ...
- September 6th 2016 Week 37th Tuesday
I only wish to face the sea, with spring flowers blossoming. 我只愿面朝大海,春暖花开. That scenery is beautiful ...
- July 6th, Week 28th Wednesday, 2016
Diligence is the mother of good fortune. 勤勉是好运之母. The mother of good fortune can be diligence, conti ...
随机推荐
- 16 级高代 II 思考题十的多种证明
16 级高代 II 思考题十 设 $V$ 是数域 $\mathbb{K}$ 上的 $n$ 维线性空间, $\varphi$ 是 $V$ 上的线性变换, 证明: $\varphi$ 的极小多项式 $m ...
- 浅谈Log4j2日志框架及使用
目录 1.日志框架 2.为什么需要日志接口,直接使用具体的实现不就行了吗? 3.log4j2日志级别 4.log4j2配置文件的优先级 5.对于log4j2配置文件的理解 6.对于Appender的理 ...
- 网络流24题 P2754 [CTSC1999]家园
思路 如图,建立分层图跑dinic 每次在残余网络里加边继续跑 跑到ans>=k时候的i就是答案 诶呀啊,忘记弄箭头了,最后一列是向上的箭头,不过聪明的你们应该没啥影响 代码 #include ...
- 【特性】Redis4.0新特性
模块系统 Redis 4.0 发生的最大变化就是加入了模块系统, 这个系统可以让用户通过自己编写的代码来扩展和实现 Redis 本身并不具备的功能, 具体使用方法可以参考 antirez 的博文< ...
- 【server.properties】kafka服务设置
每个kafka broker中配置文件server.properties默认必须配置的属性如下: broker.id=0 num.network.threads=2 num.io.threads=8 ...
- oracle 之 如何链接别人电脑的oracle
1.首先确保两台电脑是在同一个局域网内,可以通过cm命令窗口 ping 对方电脑的ID,若是没问题则表示可以连接 2.接下来通过配置来首先连接对方的电脑 其实在后面还有一个是否创建新的额服务名的操作, ...
- (转载)西门子PLC学习笔记十五-(数据块及数据访问方式)
一.数据块 数据块是在S7 CPU的存储器中定义的,用户可以定义多了数据块,但是CPU对数据块数量及数据总量是有限制的. 数据块与临时数据不同,当逻辑块执行结束或数据块关闭,数据块中的数据是会保留住的 ...
- Docker:Containers
Prerequisites Install Docker version 1.13 or higher. Read the orientation in Part 1. Give your envir ...
- Couldn't import dot_parser, loading of dot files will not be possible. 解决方法
参考: pydot and graphviz error: Couldn't import dot_parser, loading of dot files will not be possible ...
- Shell中的IFS
一.IFS 介绍 Shell 脚本中有个变量叫 IFS(Internal Field Seprator) ,内部域分隔符.完整定义是The shell uses the value stored in ...