C++ Primer【第五版】习题参考答案——第五章(语句)

#include <iostream>

#include <vector>

#include <string>

using namespace std;

/*******************************************************************

Ex_5_1:

空语句就是只含有一个分号的语句。

如果在程序的某个地方,语法上要求有一条语句,但是逻辑上不需要,

这时就需要一条空语句。

Ex_5_2:

块就是由花括号包围的复合语句。

如果在程序的某个地方,语法上要求有一条语句,但是逻辑上要求多条语句,

这时就需要块(复合语句)

*********************************************************************/

void Ex_5_3()

{

int sum = 0,val = 0;

while(++val,val <= 10)

{

sum += val;

}

cout << "Sum of 1 to 10 inclusive is " << sum << endl;

}

/*******************************************************************

Ex_5_4:

(a)迭代字符串s的每个字符,并执行一定的操作

(b)判断是否找到某个元素word,该处存在问题,status作用域不对

应改为:

bool status;

while(status = find(word))...

*********************************************************************/

void Ex_5_5(int grade)

{

const vector<string> scores = {"F","E","D","C","B","A","A++"};

string lettergrade;

if(grade < 60)

lettergrade = scores[0];

else

lettergrade = scores[grade/10-5];

cout << lettergrade;

}

void Ex_5_6(int grade)

{

const vector<string> scores = {"F","E","D","C","B","A","A++"};

string lettergrade;

lettergrade = (grade < 60 ? scores[0] : scores[grade/10-5]);

cout << lettergrade;

}

/*******************************************************************

Ex_5_7:

(a)缺少逗号

(b)应使用复合语句块

(c)ival应定义在for之外

(d)应使用“==”

*********************************************************************/

void Ex_5_9()

{

string str;

cout << "Input a string: ";

cin >> str;

unsigned vowelCnt = 0;

for(auto i : str)

{

switch(i)

{

case ‘a‘:

case ‘e‘:

case ‘i‘:

case ‘o‘:

case ‘u‘:

++vowelCnt;

break;

}

}

cout << vowelCnt << endl;

}

void Ex_5_10()

{

string str;

cout << "Input a string: ";

cin >> str;

unsigned aCnt = 0,eCnt = 0,iCnt = 0,oCnt = 0,uCnt = 0;

for(auto i : str)

{

if(isupper(i))

{

i = tolower(i);

}

switch(i)

{

case ‘a‘:aCnt++;break;

case ‘e‘:eCnt++;break;

case ‘i‘:iCnt++;break;

case ‘o‘:oCnt++;break;

case ‘u‘:uCnt++;break;

}

}

cout << aCnt << eCnt << iCnt << oCnt << uCnt << endl;

}

int main()

{

Ex_5_3();

Ex_5_5(75);

Ex_5_6(75);

Ex_5_9();

Ex_5_10();

}

C++ Primer【第五版】习题参考答案——第五章(语句)

时间: 2024-12-23 20:15:14

C++ Primer【第五版】习题参考答案——第五章(语句)的相关文章

C++ Primer【第五版】习题参考答案——第六章(函数)

本系列文章会不断更新,但是时间不能保证.另外基本上都是自己做的答案,仅供参考,如果有疑问欢迎交流. #include <iostream> #include <initializer_list> using namespace std; int test_Ex_6_27(std::initializer_list<int> li); int main() { cout << test_Ex_6_27({23,78,89,76,90}) << en

《C++Primer》第五版习题详细答案--目录

作者:cosefy ps: 答案是个人学习过程的记录,仅作参考. <C++Primer>第五版习题答案目录 第一章:引用 第二章:变量和基本类型 第三章:字符串,向量和数组 第四章:表达式 原文地址:https://www.cnblogs.com/cosefy/p/12180771.html

C++Primer第五版习题解答---第一章

C++Primer第五版习题解答---第一章 ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2022/1/7 第一章:开始 练习1.3 #include<iostream> int main() { std::cout << "hello, world" << std::endl; return 0; } 练习1.4: #include<iostream> int main() { int

web实验指导书和课后习题参考答案

实验指导书 :http://course.baidu.com/view/daf55bd026fff705cc170add.html 课后习题参考答案:http://wenku.baidu.com/link?url=LJ9YiTw0GISMKZDl0yik8IBFnEZvgrZBsLMyZ8leqWDnRSRKvZfhEf2r39TNPzVLLEmSy92uVCQIJFKdArozoOBL60yg0v9MR5xcbTPESAm

测度论讲义严加安第二版习题参考解答

第1章 集类与测度 1.1 集合运算与集类 [测度论讲义严加安第二版习题参考解答]1.1.1

[PeterDLax著泛函分析习题参考解答]第5章 赋范线性空间

1. (a) 证明 (6) 定义了范数. (b) 证明他们在 (5) 式移一下是等价的. 证明: $$\bex |(z,u)|'\leq |(z,u)|\leq 2|(z,u)|',\quad |(z,u)|''\leq |(z,u)|\leq \sqrt{2}|(z,u)|''. \eex$$ 2. 证明定理 2. 证明: 对 $y_1,y_2\in \bar Y$, $$\bex \exists\ Y\ni y_{1n}\to y_1,\quad Y\ni y_{2n}\to y_2, \e

[PeterDLax著泛函分析习题参考解答]第4章 Hahn-Bananch 定理的应用

1. 证明: 若在 4.1 节中取 $S=\sed{\mbox{正整数}}$, $Y$ 是收敛数列构成的空间, $\ell$ 由 (14) 式定义, 则由 (4) 给出的 $p$ 和由 (11) 定义的 $p$ 相等. 证明: $$\bex p(x)=\inf_{x\leq y\in Y}l(y)=\inf_{a_n\leq b_n,\sed{b_n}\in Y}\vlm{n}b_n. \eex$$ 由 $a_n\leq b_n$ 知 $$\bex \vls{n}a_n\leq \vlm{n}b

[PeterDLax著泛函分析习题参考解答]第2章 线性映射

1. 验证两个线性映射的复合仍是线性映射而且满足分配律: $$\bex {\bf M}({\bf N}+{\bf K})={\bf M}{\bf N}+{\bf M}{\bf K},\quad ({\bf M}+{\bf K}){\bf N}={\bf M}{\bf N}+{\bf K}{\bf N}. \eex$$ 2. 证明定理 1. 证明: 证 (iii). 定义 $$\bex {\bf M}:\quad X/ N_{{\bf M}}\ni [x]\to {\bf M} x\in R_{{

[PeterDLax著泛函分析习题参考解答]第3章 Hahn-Banach 定理

1. 证明 $(10'$). 证明: $\ra$: 由 $p_K(x)<1$ 知 $$\bex \exists\ 0<a<1,\st \cfrac{x}{a}\in K. \eex$$ 既然 $0$ 是 $K$ 的内点, $$\bex \forall\ y,\ \exists\ \ve=\ve(y)>0,\st |t|<\cfrac{\ve}{1-a}\ra ty\in K. \eex$$ 于是由 $K$ 的凸性, $$\bex |t|<\ve\ra x+ty =a\c