C++ Primer (第五版)第一章习题部分答案
在我自学C++过程中,我选择了C++Primer这本书,并对部分代码习题进行了求解以及运行结果。接下来几个月我将为大家定时按章节更新习题答案与运行结果:
目录
1.9编写程序,使用while循环将50到100的整数相加
1.10 除了++运算符将运算对象的值增加1之外,还有一个递减运算符(–)实现将值减少1.编写程序,使用递减运算符在循环中按递减顺序打印出10到0之间的整数.
1.11编写程序,提示用户输入两个整数,打印出这两个整数所指定的范围内的所有整数.
1.12下面的for循环完成了什么功能?sum的终值是多少?
1.13使用for循环重做1.4.1节中的所有练习.
1.9
1.10
1.11
1.16编写程序,从cin读取一组数,输出其和.
1.18编译并运行本节的程序,给它输入全都相等的值.再次运行程序,输入没有重复的值
1.19修改你为1.4.1节练习1.10(第11页)所编写的程序(打印一个范围内的数),使其能处理用户输入的第一个数比第二个数小的情况.
1.20在网站http://www.informit.com/title/0321714113上第1章的代码目录包含了头文件Sales_item.h 将它拷贝到你自己的工作目录中.用它编写一个程序,读取一组书籍销售记录,将每条记录打印到标准输出上.
1.21编写程序,读取两个ISBN相同的Sales_item对象,输出它们的和.
1.22编写程序,读取多个具有相同ISBN的销售记录,输出所有记录的和.
1.23编写程序,读取多条销售记录,并统计每个ISBN(每本书)有几条销售记录.
1.24输入表示多个ISBN的多条销售记录来测试上一个程序,每个ISBN的记录应该聚在一起
1.25借助网站上的Sales_item.h头文件,编译并运行本节给出的书店程序.
1.9编写程序,使用while循环将50到100的整数相加
#include<iostream>
int main(){int n1=0, n2=50;while (n2 < 101){n1 = n1 + n2;n2++;}std::cout << "The sum of 50 to 100 is " << n1 << std::endl;return 0;
}

1.10 除了++运算符将运算对象的值增加1之外,还有一个递减运算符(–)实现将值减少1.编写程序,使用递减运算符在循环中按递减顺序打印出10到0之间的整数.
#include<iostream>
int main(){int n1=10;while (n1 >= 0){std::cout << n1 << std::endl;n1--;}return 0;
}

1.11编写程序,提示用户输入两个整数,打印出这两个整数所指定的范围内的所有整数.
#include<iostream>
int main(){int n1 = 0, n2 = 0;std::cout << "Please input two numbers:";std::cin >> n1 >> n2;if (n1 > n2)while (n1 >= n2)std::cout << n2++ << " ";elsewhile (n1 <= n2)std::cout << n1++ << " ";std::cout << std::endl;return 0;
}

1.12下面的for循环完成了什么功能?sum的终值是多少?
#include<iostream>
int main(){int sum = 0;for (int i = 0; i <= 100; ++i)sum += i;std::cout << "The final sum is " << sum << std::endl;return 0;
}

由运行结果可知,for循环完成了0到100内的整数求和,sum终值为5050.
1.13使用for循环重做1.4.1节中的所有练习.
1.9
#include<iostream>
int main(){int sum = 0;for (int i = 50; i <= 100; ++i)sum += i;std::cout << "The sum is " << sum << std::endl;return 0;
}

1.10
#include<iostream>
int main(){for (int i = 10; i >= 0; i--)std::cout << i << " ";std::cout << std::endl;return 0;
}

1.11
#include<iostream>
int main(){int n1 = 0, n2 = 0;std::cout << "Please input two numbers:";std::cin >> n1 >> n2;if (n1 > n2)for(;n2 <= n1; n2++)std::cout << n2 << " ";elsefor(;n1 <= n2; n1++)std::cout << n1<< " ";std::cout << std::endl;return 0;
}

1.16编写程序,从cin读取一组数,输出其和.
#include<iostream>
int main(){int n1 = 0, n2 = 0;std::cout << "请输入一些数字求和:";while (std::cin >> n2)n1 = n1 + n2;std::cout << "The sum is " << n1 << std::endl;return 0;
}

1.18编译并运行本节的程序,给它输入全都相等的值.再次运行程序,输入没有重复的值
#include<iostream>
int main(){int n1 = 0, n2 = 0;if (std::cin >> n1){int cnt = 1;while (std::cin >> n2){if (n1 == n2)cnt++;else{std::cout << n1 << " occurs " << cnt << " times" << std::endl;n1 = n2;cnt = 1;}}std::cout << n1 << " occurs " << cnt << " times" << std::endl;}return 0;
}


1.19修改你为1.4.1节练习1.10(第11页)所编写的程序(打印一个范围内的数),使其能处理用户输入的第一个数比第二个数小的情况.
#include<iostream>
int main()
{std::cout << "请输入俩个数(第一个数比第二个数小):" << std::endl;int v1 = 0, v2 = 0;std::cin >> v1 >> v2;if (v1 < v2){while (v1 <= v2){std::cout << v1++ << " ";}}else{std::cout << "输入有误." << std::endl;}std::cout << std::endl;return 0;
}

1.20在网站http://www.informit.com/title/0321714113上第1章的代码目录包含了头文件Sales_item.h 将它拷贝到你自己的工作目录中.用它编写一个程序,读取一组书籍销售记录,将每条记录打印到标准输出上.
下载地址https://download.csdn.net/download/weixin_48467622/88350222?spm=1001.2014.3001.5501
#include<iostream>
#include"Sales_item.h"
int main()
{Sales_item s;while (std::cin >> s)std::cout << s << std::endl;return 0;
}

1.21编写程序,读取两个ISBN相同的Sales_item对象,输出它们的和.
#include<iostream>
#include"Sales_item.h"
int main()
{Sales_item s1,s2;std::cout << "请输入ISBN相同的Sales_item对象:" << std::endl;std::cin >> s1 >> s2;if (compareIsbn(s1, s2))std::cout << std::endl << "汇总信息:ISBN 售出本书 销售额 和 平均售价为:" << std::endl << s1 + s2 << std::endl;elsestd::cout << "您输入的ISBN值不同!" << std::endl;return 0;
}

1.22编写程序,读取多个具有相同ISBN的销售记录,输出所有记录的和.
#include<iostream>
#include"Sales_item.h"
int main()
{Sales_item s,total;std::cout << "请输入ISBN相同的Sales_item对象:" << std::endl;if (std::cin >> total){while (std::cin >> s){if (compareIsbn(s, total))total = total + s;else{std::cout << "输入ISBN与历史数据不同!" << std::endl;return -1;}}}else{std::cout << "未输入数据!" << std::endl;return -1;}std::cout << std::endl << "汇总信息:ISBN 售出本书 销售额 和 平均售价为:" << std::endl << total << std::endl;return 0;
}

1.23编写程序,读取多条销售记录,并统计每个ISBN(每本书)有几条销售记录.
#include <iostream>
#include "Sales_item.h"
int main()
{Sales_item tran1, tran2;int num = 0;std::cout << "请输入销售记录:" << std::endl;if (std::cin >> tran1){num++;while (std::cin >> tran2){if (tran1.isbn()==tran2.isbn()){num++;}else{std::cout << std::endl << "ISBN:" << tran1.isbn() <<"的销售记录有" << num << "条" << std::endl;tran1 = tran2;num = 1;}}std::cout << std::endl << "ISBN:" << tran1.isbn() << "的销售记录有" << num << "条" << std::endl;}else{std::cout << "没有输入" << std::endl;return -1;}return 0;
}

1.24输入表示多个ISBN的多条销售记录来测试上一个程序,每个ISBN的记录应该聚在一起
#include <iostream>
#include "Sales_item.h"
int main()
{Sales_item tran1, tran2;int num = 0;std::cout << "请输入销售记录:" << std::endl;if (std::cin >> tran1){num++;while (std::cin >> tran2){if (tran1.isbn()==tran2.isbn()){num++;}else{std::cout << std::endl << "ISBN:" << tran1.isbn() <<"的销售记录有" << num << "条" << std::endl;tran1 = tran2;num = 1;}}std::cout << std::endl << "ISBN:" << tran1.isbn() << "的销售记录有" << num << "条" << std::endl;}else{std::cout << "没有输入" << std::endl;return -1;}return 0;
}

1.25借助网站上的Sales_item.h头文件,编译并运行本节给出的书店程序.
#include <iostream>
#include "Sales_item.h"
int main()
{Sales_item total, trans;std::cout << "请输入销售记录:" << std::endl;if (std::cin >> total){while (std::cin >> trans){if (total.isbn()==trans.isbn()){total = total + trans;}else{std::cout << total << std::endl;total = trans;}}std::cout << total << std::endl;}else{std::cerr << "No data!" << std::endl;return -1;}return 0;
}

相关文章:
C++ Primer (第五版)第一章习题部分答案
在我自学C过程中,我选择了CPrimer这本书,并对部分代码习题进行了求解以及运行结果。接下来几个月我将为大家定时按章节更新习题答案与运行结果: 目录 1.9编写程序,使用while循环将50到100的整数相加 1.10 除了运算符将运算对象的值增加1之外,还有一个…...
Python与GUI集成:零基础也能开发国际象棋游戏
引言: 国际象棋,作为世界上最受欢迎的棋类游戏之一,拥有丰富的策略和深度。但是,你知道自己可以使用Python来创建一个简单的国际象棋游戏并为其添加图形用户界面(GUI)吗?在本教程中,…...
SaaS软件能保证数据安全吗?
SaaS软件能保证数据安全吗? 本文将要尝试从各个方面尽可能客观的去阐述这个问题,而不是简单自嗨式的说简道云平台如何保障数据安全。 建议先收藏起来慢慢品! 01 SaaS安全到底是什么?——定义解读 本文所用SaaS平台>>>…...
方案:基于AI烟火识别与视频技术的秸秆焚烧智能化监控预警方案
一、方案背景 为严控秸秆露天焚烧,改善环境空气质量,各省相继发布秸秆禁烧工作内容。以安徽省为例,大气污染防治联席会议下发了该省2020年秸秆禁烧工作部署通知。2020年起,气象局将对全省秸秆焚烧火点实施卫星全年全时段监测&…...
phantomjs插件---实现通过链接生成网页截图
Phantomjs | PhantomJS 配置要求 windows下,安装完成phantomJS 设置phantomjs环境变量【也可直接使用phantomjs目录下的执行文件】 直接通过访问php文件执行/通过cmd命令行执行【phantomjs phantom_script.js】 linux下,安装完成phantomJS 设置phantomjs环境变量 直…...
SpringBoot分页实现查询数据
1.原生查询 1.1创建分页查询实体类 package com.itheima.pojo;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.util.List;//分页查询结果封装类 Data NoArgsConstructor AllArgsConstructor public class PageBean {pr…...
Jetson Xavier NX 与飞控(Pixhawk 4 Mini)实现串口通信
一、飞控端配置 首先对 Pixhawk 4 Mini 烧录固件参考 Kakute H7 刷写 px4 固件_想要个小姑娘的博客-CSDN博客 烧录完成后打开 QGroundControl,进入参数设置并搜索 MAV,如下所示 然后修改 MAV_1_CONFIG,修改为自己想要连接机载电脑…...
为什么2022年秋招嵌入式开发岗位薪资大涨?
今天看到一个网友讨论的问题,其实这个问题也很简答。从嵌入式本身优势来说,首先是因为该行业人才人才需求大,据权威统计机构统计在所有软件开发类人才的需求中,对嵌入式工程师的需求达到全部需求量的60%~80%,并且每年以…...
在HTML里,attribute和property有什么区别?
在HTML中,attribute 和 property 之间的区别是一个常见但容易混淆的概念。它们都与HTML元素有关,但它们在功能、用途和行为上有所不同。以下是它们之间的主要区别: 定义和来源: Attribute: 它们是在HTML标记中定义的,通常用于提供…...
机器学习入门与实践:从原理到代码
💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 在本文中,我…...
SpringCloud在idea中一键启动项目
1、如下图文件中加上: <component name"RunDashboard"><option name"configurationTypes"><set><option value"SpringBootApplicationConfigurationType" /></set></option></component>…...
VB过程的递归调用,辗转相除法求最大公约数
VB过程的递归调用,辗转相除法求最大公约数 过程的递归调用,辗转相除法求最大公约数 Private Function gys(ByVal m%, ByVal n%) As IntegerDim r%r m Mod n m大或者n大都无所谓,这个不影响计算,由于辗转相除法的算法,…...
OpenCV(三十九):积分图像
1.积分图像介绍 积分图像中的每个像素表示了原始图像中对应位置及其左上方矩形区域内像素值的总和。如图,p0表示原始图像蓝色区域内像素值的总和。 倾斜求和(Skewed Sum)是积分图像的一种扩展形式,用于计算图像区域内的像素和&…...
【Electron 拦截请求实现自定义网络处理】
文章目录 Electron 拦截请求实现自定义网络处理1. 获取默认会话2. 拦截请求3. 完整示例代码总结 Electron 拦截请求实现自定义网络处理 在 Electron 中,我们可以使用 session 模块来拦截和处理网络请求。通过拦截请求,我们可以对请求进行修改、添加请求…...
Pytest系列-内置标签skip和skipif 跳过测试用例的详细使用(5)
简介 skip和skipif,见名知意就是跳过测试,主要用于不想执行的代码,标记后,标记的代码不执行。希望满足某些条件才执行某些测试用例,否则pytest会跳过运行该测试用例实际常见场景:根据平台不同执行测试、跳…...
华为云云耀云服务器L实例评测|docker 常用操作命令
文章目录 写在前面云耀云服务器L实例与ECS的购买和配置区别 1、管理命令2、帮助命令3、镜像命令4、容器命令4.1 查看容器4.2 创建容器 实例 写在前面 前面讲到了docker环境的安装,这是我们可以直接打开远程连接华为云云耀云服务器L实例,直接连接公网…...
RJ45网络信号浪涌保护器解决方案
RJ45网络信号浪涌保护器是一种用于保护网络设备免受雷击或其他高压电流干扰的装置,它可以有效地吸收和释放信号线路上的过电压,从而避免设备损坏或数据丢失。 RJ45信号浪涌保护器的应用领域和施工方案如下: 地凯科技RJ45网络信号浪涌保护器…...
SoC性能指标ARM内核运算能力
自动驾驶芯片常用的性能评价指标:TOPS,DMIPS,GFLOPS分别说的是啥? TOPS Tera Operation Per Second,表示每秒钟可以进行的操作数量,用于衡量自动驾驶的算力。 众所周知,汽车上最常用的传感器是摄像头,而与之对应的计…...
注册小鲸鱼88888专用网站
点击注册充值即可 高效不限速,不限设备 注意这里的地址并没有错,只是你需要想办法正确能进入就行,懂的大佬一定知道用一定的方法访问的。...
GitHub平台 Bookget操作
以bookget为例,熟悉github平台。 https://github.com/deweizhu/bookget 选择该界面中的“Wiki”,右侧边栏中是文章的结构大纲。 下载bookget软件。 依照说明,安装bookget环境。...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
自然语言处理——文本分类
文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益(IG) 分类器设计贝叶斯理论:线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别, 有单标签多类别文本分类和多…...
基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究
摘要:在消费市场竞争日益激烈的当下,传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序,探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式,分析沉浸式体验的优势与价值…...
