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 ...
随机推荐
- 使用Navicat for MySQL添加外键约束
转载:http://blog.csdn.net/u013215018/article/details/54981216 现在有两个表一张是Roles表(角色表),一张是RoleUser表(用户角色) ...
- 【python35.1--EasyGui界面】
一.什么是EasyGUI EasyGUI是python中一个非常简单的GUI编程模块,不同于其他的GUI生成器,它不是事件驱动的,相反,所有的GUI交互都是通过简地函数调用就可以实现(意思是:函数调用 ...
- python --- 14 递归 二分法查找
一.递归 1.函数自己调用自己 2.官方说明最大深度1000,但跑不到1000,要看解释器, 实测998 3.使⽤递归来遍历各种树形结构 二. 二分法查找 掐头结尾取中间 , 必须是有序序列 ...
- sftp服务器的安装与远程
本文所描述环境只在window系统下 一.搭建sftp服务器 1.首先需要下载一个软件freeSSHd,下载地址http://www.freesshd.com/?ctt=download,下载第一个f ...
- topcoder srm 305 div1
problem1 link 直接按照题意模拟即可. import java.util.*; import java.math.*; import static java.lang.Math.*; pu ...
- shell编程中的单/双 小括号, 中括号, 大括号
linux shell中的变量类型?分字符串或者数字或者bool类型吗? 参考: http://www.cnblogs.com/nufangrensheng/p/3477281.html 不分! sh ...
- 2870: 最长道路tree
链接 https://www.lydsy.com/JudgeOnline/problem.php?id=2870 思路 先把树转化为二叉树 再链分治 %%yyb 代码 #include <ios ...
- 洛谷luogu2782
P2782 友好城市 题目描述 有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市.北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同.每对友好城市都向政府申 ...
- C#获取文件MD5值方法
https://www.cnblogs.com/Ruiky/archive/2012/04/16/2451663.html private static string GetMD5HashFromFi ...
- 论文笔记之:DualGAN: Unsupervised Dual Learning for Image-to-Image Translation
DualGAN: Unsupervised Dual Learning for Image-to-Image Translation 2017-06-12 21:29:06 引言部分: 本文提出 ...