《C++语言入门经典》一2.9 上机实践

简介: 本节书摘来自华章出版社《C++语言入门经典》一书中的第2章,第2.9节,作者 郭鑫 顾彦玲,更多章节内容可以访问云栖社区“华章计算机”公众号查看

2.9 上机实践

2.9.1 计算三角形周长

题目描述
现有3根木棍,分别长3.3 厘米、4.4 厘米、5.7 厘米,将它们搭成一个三角形。设计程序计
算并输出这个三角形的周长。
技术指导
三角形周长的计算方法为三条边之和。在程序中定义3个变量存储边长的值。然后保留浮
点数精度,用格式化输出语句printf输出这3个变量相加的结果。本上机实践的关键代码参考
如下:

float a =3.3,b=4.4,c=5.7; 
printf("三角形边长%f\n",a+b+c);

2.9.2 计算三角形边长

题目描述
若将2.9.1节中的木棍搭建成一个边长分别为3、4、5的直角三角形,则需要将每根木棍截
成相应长度的两段。那么,直角三角形搭建完成后,剩下的三根小木棍能否再搭建一个三角
形?设计程序,用一个bool型变量存储计算的结果,并输出它。
技术指导
由于浮点数存在精度,进行比较运算的时候需要将浮点数转换为相应的整型变量才会得到
正确的结果。三条边能够搭建成一个三角形的条件是任意两边之和大于第三边,程序中使用整
型变量存储“剩下的三根小木棍”的边长,设计三个比较表达式得到三条边的比较结果。之后
创建一个bool型变量存储这三个比较结果的“与”逻辑表达式结果,输出结果。本上机实践的
关键代码参考如下:

int a1= a*10 - 30, b1= b*10- 40,c1 = c*10-50;  // 依据实际精度计算剩下的三条边长
bool bp1 = (c1+b1>a1)&&(a1+c1>b1)&&(a1+b1>c1);
cout<<bp1<<endl;

相关文章
|
2月前
|
C++
C++ 语言异常处理实战:在编程潮流中坚守稳定,开启代码可靠之旅
【8月更文挑战第22天】C++的异常处理机制是确保程序稳定的关键特性。它允许程序在遇到错误时优雅地响应而非直接崩溃。通过`throw`抛出异常,并用`catch`捕获处理,可使程序控制流跳转至错误处理代码。例如,在进行除法运算或文件读取时,若发生除数为零或文件无法打开等错误,则可通过抛出异常并在调用处捕获来妥善处理这些情况。恰当使用异常处理能显著提升程序的健壮性和维护性。
51 2
|
2月前
|
算法 C语言 C++
C++语言学习指南:从新手到高手,一文带你领略系统编程的巅峰技艺!
【8月更文挑战第22天】C++由Bjarne Stroustrup于1985年创立,凭借卓越性能与灵活性,在系统编程、游戏开发等领域占据重要地位。它继承了C语言的高效性,并引入面向对象编程,使代码更模块化易管理。C++支持基本语法如变量声明与控制结构;通过`iostream`库实现输入输出;利用类与对象实现面向对象编程;提供模板增强代码复用性;具备异常处理机制确保程序健壮性;C++11引入现代化特性简化编程;标准模板库(STL)支持高效编程;多线程支持利用多核优势。虽然学习曲线陡峭,但掌握后可开启高性能编程大门。随着新标准如C++20的发展,C++持续演进,提供更多开发可能性。
49 0
|
6天前
|
C++
c++继承层次结构实践
这篇文章通过多个示例代码,讲解了C++中继承层次结构的实践应用,包括多态、抽象类引用、基类调用派生类函数,以及基类指针引用派生类对象的情况,并提供了相关的参考链接。
|
22天前
|
JavaScript 前端开发 测试技术
一个google Test文件C++语言案例
这篇文章我们来介绍一下真正的C++语言如何用GTest来实现单元测试。
14 0
|
2月前
|
编译器 C++ 容器
C++语言的基本语法
想掌握一门编程语言,第一步就是需要熟悉基本的环境,然后就是最重要的语法知识。 C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。 对象 - 对象具有状态和行为。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。 类 - 类可以定义为描述对象行为/状态的模板/蓝图。 方法 - 从基本上说,一个方法表示一种行为。一个类可以包含多个方法。可以在方法中写入逻辑、操作数据以及执行所有的动作。 即时变量 - 每个对象都有其独特的即时变量。对象的状态是由这些即时变量的值创建的。 完整关键字
54 2
|
3月前
|
前端开发 编译器 程序员
协程问题之为什么 C++20 的协程代码比其他语言的协程 demo 长很多如何解决
协程问题之为什么 C++20 的协程代码比其他语言的协程 demo 长很多如何解决
|
4月前
|
程序员 编译器 C++
探索C++语言宝库:解锁基础知识与实用技能(类型变量+条件循环+函数模块+OOP+异常处理)
探索C++语言宝库:解锁基础知识与实用技能(类型变量+条件循环+函数模块+OOP+异常处理)
38 0
|
4月前
|
存储 编译器 开发工具
C++语言教程分享
C++语言教程分享
|
4月前
|
自然语言处理 编译器 C语言
C++语言入门教程
C++语言入门教程
|
4月前
|
存储 编译器 程序员
C++语言基础学习
C++语言基础学习
下一篇
无影云桌面