练习1.9

  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5. int sum = 0, val = 50;
  6. while (val <= 100) {
  7. sum += val;
  8. ++val;
  9. }
  10. std::cout << "Sum of 50 to 100 inclusive is " << sum << std::endl;
  11. return 0;
  12. }

练习1.10

  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5. int val = 10;
  6. while (val >= 0) {
  7. std::cout << val-- << std::endl;
  8. }
  9. return 0;
  10. }

练习1.11

  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5. std::cout << "Please enter the two integers" << std::endl;
  6. int start, end;
  7. //我这里没有对传入格式进行判断,如果大家有需要可以添加这个功能
  8. std::cin >> start >> end;
  9. if (start > end) {
  10. std::swap(start, end);
  11. }
  12. while (start <= end) {
  13. std::cout << start++ << std::endl;
  14. }
  15. return 0;
  16. }

练习1.12

for循环将-100到100之间的整数相加,sum终值为0

练习1.13

  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5. int sum = 0;
  6. for (int val = 50; val <= 100; ++val) {
  7. sum += val;
  8. }
  9. std::cout << "Sum of 50 to 100 inclusive is " << sum << std::endl;
  10. return 0;
  11. }
  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5.  
  6. for (int val = 10; val >= 0; val--) {
  7. std::cout << val << std::endl;
  8. }
  9. return 0;
  10. }
  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5. std::cout << "Please enter the two integers" << std::endl;
  6. int start, end;
  7. //我这里没有对传入格式进行判断,如果大家有需要可以添加这个功能
  8. std::cin >> start >> end;
  9. if (start > end) {
  10. std::swap(start, end);
  11. }
  12. for (; start <= end; start++) {
  13. std::cout << start << std::endl;
  14. }
  15. return 0;
  16. }

练习1.14

for循环
  循环控制变量的初始化和修改都放在语句头部分,书写形式较简洁,且适用于循环次数已知的情况。在循环语句中定义一个局部变量,循环结束后,局部变量就被释放了。

while循环
  循环控制变量的初始化一般放在while语句之前,循环控制变量的修改一般放在循环体中,形式上不如for语句简洁,但它比较适用于循环次数不易预知的情况(用某一条件控制循环)

练习1.15

练习1.16

  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5. std::cout << "Please enter some integers" << std::endl;
  6. int sum=0, val=0;
  7. //我这里没有对传入格式进行判断,如果大家有需要可以添加这个功能
  8. while (std::cin >> val) {
  9. sum += val;
  10. }
  11. std::cout << "Sum of Integers is" << sum << std::endl;
  12. return 0;
  13. }

练习1.17

如果输入的所有值都是相等的:输入值 occurs 输入次数 times

如果没有重复值:依次输出 输入值 occurs 1 times

练习1.18

visual studio2019环境:

cl /EHsc occurs.cpp

occurs

练习1.19

参考练习1.11

练习1.20

  1. #include <iostream>
  2. #include "Sales_item.h"
  3.  
  4. int main() {
  5. Sales_item total;
  6. while (std::cin >> total) {
  7. std::cout << "Record:" << total << std::endl;
  8. }
  9. return 0;
  10. }

命令行输入

  1. 执行文件名 <输入数据所在文件 >写入文件
    形似:out_item <data\book_sales >data\outfile

练习1.21

  1. #include <iostream>
  2. #include "Sales_item.h"
  3.  
  4. int main()
  5. {
  6. Sales_item item1, item2;
  7.  
  8. std::cin >> item1 >> item2;
  9. std::cout << item1 + item2 << std::endl;
  10.  
  11. return 0;
  12. }

练习1.22

  1. #include <iostream>
  2. #include "Sales_item.h"
  3.  
  4. int main()
  5. {
  6. Sales_item item, sum_item;
  7. if (std::cin >> sum_item) {
  8. while (std::cin >> item) {
  9. sum_item += item;
  10. }
  11. }
  12. std::cout << sum_item << std::endl;
  13. return 0;
  14. }

练习1.23

  1. #include <iostream>
  2. #include "Sales_item.h"
  3.  
  4. int main()
  5. {
  6. Sales_item item1, item2;
  7. if (std::cin >> item1) {
  8. int cnt = 1;
  9. while (std::cin >> item2) {
  10. if (item1.isbn() == item2.isbn())
  11. cnt++;
  12. else {
  13. std::cout << item1.isbn() << " " << cnt << std::endl;
  14. cnt = 1;
  15. item1 = item2;
  16. }
  17. }
  18. std::cout << item1.isbn() << " " << cnt << std::endl;
  19. }
  20. return 0;
  21. }

练习1.24

  1. 命令行代码形似:add_items <data\book_sales >data\outfile

C++ Primer第5版 第一章课后练习的更多相关文章

  1. C++ Primer第5版 第二章课后练习

    练习2.1 C++ 语言规定short 和 int 至少 16 位, long 至少32位, long long 至少64位.带符号类型可以表示整数.负数或0, 无符号类型则仅能表示大于等于0的值Th ...

  2. 20145330《Java学习笔记》第一章课后练习8知识总结以及IDEA初次尝试

    20145330<Java学习笔记>第一章课后练习8知识总结以及IDEA初次尝试 题目: 如果C:\workspace\Hello\src中有Main.java如下: package cc ...

  3. Java程序设计(2021春)——第一章课后题(选择题+编程题)答案与详解

    Java程序设计(2021春)--第一章课后题(选择题+编程题)答案与详解 目录 Java程序设计(2021春)--第一章课后题(选择题+编程题)答案与详解 第一章选择题 1.1 Java与面向对象程 ...

  4. Pro ASP.NET Core MVC 第6版 第一章

    目录 第一章 ASP.NET Core MVC 的前世今生 ASP.NET Core MVC 是一个微软公司开发的Web应用程序开发框架,它结合了MVC架构的高效性和简洁性,敏捷开发的思想和技术和.N ...

  5. Java 线程第三版 第一章Thread导论、 第二章Thread的创建与管理读书笔记

    第一章 Thread导论 为何要用Thread ? 非堵塞I/O      I/O多路技术      轮询(polling)      信号 警告(Alarm)和定时器(Timer) 独立的任务(Ta ...

  6. Java 螺纹第三版 第一章Thread介绍、 第二章Thread创建和管理学习笔记

    第一章 Thread导论 为何要用Thread ? 非堵塞I/O      I/O多路技术      轮询(polling)      信号 警告(Alarm)和定时器(Timer) 独立的任务(Ta ...

  7. c++生成算式并计算(《构建之法》第一章课后第一题)

    c++实现计算器(自动生成算式并计算) 要满足的需求有以下几个: 自动生成随机的四则运算算式,包含括号和小数. 对生成的算式计算出结果. 算式.结果分别存储到不同的文件. 一 生成算式 由上述需求可知 ...

  8. C++ Primer Plus学习:第一章

    C++入门第一章:预备知识 C++简介 C++融合了三种不同的编程方式: C语言代表的过程性语言. C++在C语言基础上添加的类代表的面向对象语言. C++模板支持的泛型编程. C++简史 20世纪7 ...

  9. 高性能MySQL(第4版) 第一章 MySQL架构 读书笔记

    这本书去年11月出的,今年中文版也出了,并且直接上了微信读书,之后有空就读一读,分享下读书笔记~ 原文内容比较充实,建议有时间可以读一下原文. 第一章主要是个概览. MySQL的逻辑架构 默认情况下, ...

随机推荐

  1. 本机ping不通虚拟机,但虚拟机可以ping通本机

    在各自网络都连接的情况下,本机ping不通虚拟机,但虚拟机可以ping通本机时解决方案: 1.linux虚拟机中连接方式选择NAT模式 2.本地启动VMnet8,然后选择VMnet8的属性,手动输入和 ...

  2. centos7安装PHP7的redis扩展

    前言: 在本篇博客中,我将给大家介绍如何在Centos7上安装PHP-Redis扩展,关于如何在Centos上安装redis的,可以参考另外一篇博客:Centos7安装redis 想要在php中操作r ...

  3. [剑指Offer]57-和为s的数字

    题目一 输入一个递增的数组和一个数字,在数组中查找2个数字,是他们的和正好为S,如果有多对的和为S,则输出任意一对即可. 题解 关键信息是数组有序.初始化i,j指向第一个和第二个数,与S比较,若小了, ...

  4. Shell编程(5)

    文本处理三剑客 在 Shell 下使用这些正则表达式处理文本最多的命令有下面几个工具:                 命令                描述 grep 默认不支持扩展表达式,加-E ...

  5. RXJAVA之聚合操作

    concat 按顺序连接多个Observables.需要注意的是Observable.concat(a,b)等价于a.concatWith(b). startWith 在数据序列的开头增加一项数据.s ...

  6. OOD 面向对象面试干货分享| 面向对象设计的SOLID原则

    S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写. 简写 全拼 中文翻译 SRP The Single Res ...

  7. php第五天-正则表达式,字符串的匹配与查找函数,数组切割

    在php中有两套正则表达式,两者功能相似,一套是由PCRE,使用"preg_"为前缀命名的函数,一套是由POSIX拓展提供的,使用以"ereg_"命名的函数 0 ...

  8. spring:spring再总结(ioc、aop、DI等)

    IOC(Inversion of Control),即"控制反转",不是一种技术而是一种思想 1.IOC的理解 Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部 ...

  9. echarts中折线图切换为数据视图(表格布局)表头无法对齐解决方法

                dataView: {               show: true,               readOnly: true,               option ...

  10. 3、JVM中的对象

    1.对象的创建 A  a = new A() A:引用的类型 a::引用的名称 new A():创建一个A类对象 当创建一个对象时,具体创建过程是什么呢? (1)JVM遇到new的字节码指令后,检查类 ...