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 ...
随机推荐
- 在VS2010中使用Git
转载:https://www.cnblogs.com/oec2003/archive/2012/11/13/2768860.html 一. 安装Git命令行,下载地址:http://code.goog ...
- topcoder srm 555 div1
problem1 link 直接动态规划即可. problem2 link 假设有$r$行,$c$列被修改了奇数次,那么一定有$r*W+c*H-2*r*c=S$.可以枚举这样的组合$(r,c)$,然后 ...
- Linux电源管理(五)thermal【转】
本文转载自:https://blog.csdn.net/zhouhuacai/article/details/78172267 版权声明:本文为博主原创文章,未经博主允许不得转载. https: ...
- DPAA1是如何辅助cpu进行网络加速的?
1.为何会出现DPAA1? 1.1 如果没有多核处理器的出现可能就不会出现这个东东了! 1.2 怎么会跟多核处理器扯上关系呢? 1.2.1 先聊聊单核处理器会怎么处理网络包呢? 单核同一时刻只能处理一 ...
- SSM项目问题中遇到 ArrayList添加元素的问题
记录项目开发中 一次有趣的debug经历 本来是在做单元测试的,但是发现如下代码 有问题.. ProductCategory p = new ProductCategory(); for (int i ...
- 集合03_Map
Map集合总览 保存映射关系key-value键值对,键唯一,值可以重复,Map和Set的实现类相似 Entry是Map的内部类 Map接口中常用的方法: void clear() Set keySe ...
- (转) The care and maintenance of your adviser
The care and maintenance of your adviser Ever since the advent of graduate school, students have com ...
- SQL语句总结2018-11-7
增加一条数据 insert into table (列字段1,列字段2)values(列1值,列2值) 删除一条数据 delete from table where 列名1=值1 修改一条数据 upd ...
- Kubernetes相关概念
This page explains how Kubernetes objects are represented in the Kubernetes API, and how you can exp ...
- Wijmo 2017路线图
2016年是Wijmo团队发展和增长的另一个富有成效的一年.回顾我们2016年的路线图,您可以看到我们交付了我们承诺的一切.让我们回顾一下2016年的亮点: 我们第一个全面支持Angular 2 互操 ...