当前位置: 首页 > news >正文

一本通 2061:【例1.2】梯形面积

Topic:

Ideas:

此题对于各位小伙伴来说一定非常简单,详细思路就不用我说了,记录下来只是为了复习一下格式化输出相关

Code:

//2025/04/15
#include<iostream>
using namespace std;
int main() {float height;//float triangle=150;float trapezium;height = triangle / 30;trapezium = 40* height / 2;printf("%.2f",trapezium);return 0;
}

Review:

C++中的格式化输出主要是有3种形式,第一种是使用流操作算子(流操纵算子),第二种是成员函数,第三种则是使用标准输出printf(个人觉得第三种形式更为简单通用)

  1. 流操作算子使用时需要加上iomanip头文件,流操纵算子需要与cout和<<连用,以下是常用的输出流操纵算子以及使用示例     想要进一步了解可参考以下文章: C++ cout格式化输出完全攻略
    流操纵算子作用
    *dec以十进制形式输出整数
    fixed以普通小数形式输出浮点数
    scientific以科学计数法形式输出浮点数
    *right右对齐,即在宽度不足时将填充字符添加到左边
    setw(w)指定输出宽度为 w 个字符,或输人字符串时读入 w 个字符
    setfill(c)在指定输出宽度的情况下,输出的宽度不足时用字符 c 填充(默认情况是用空格填充)
    setprecision(n)设置输出浮点数的精度为 n。 在使用非 fixed 且非 scientific 方式输出的情况下,n 即为有效数字最多的位数,如果有效数字位数超过 n,则小数部分四舍五人,或自动变为科学计 数法输出并保留一共 n 位有效数字。 在使用 fixed 方式和 scientific 方式输出的情况下,n 是小数点后面应保留的位数。
    #include<iostream>
    #include<iomanip>
    using namespace std;
    int main() {float a;int b = 6;a = b * 3.14;cout << fixed << setprecision(2) << a << endl;return 0;
    }
    
  2. 使用cout对象的成员函数,例如cout.precision()和cout.width()来设置浮点数的精度和输出宽度  常用的成员函数如下:
    precision(n)setprecision(n)设置输出浮点数的精度为 n。
    width(w)setw(w)指定输出宽度为 w 个字符。
    fill(c)setfill (c)在指定输出宽度的情况下,输出的宽度不足时用字符 c 填充(默认情况是用空格填充)。
    setf(flag)setiosflags(flag)将某个输出格式标志置为 1。
    unsetf(flag)resetiosflags(flag)将某个输出格式标志置为 0。
    cout.setf(ios::scientific);
    out.precision(8);
    cout << 12.23 << endl;
  3. 使用标准输出函数printf()进行格式化输出,通过指定格式控制符来实现不同数据类型的格式化输出,例如,格式控制符 %.5f 用于处理浮点数输出,它能确保输出的数值精确到小数点后 5 位;而 %2d 则是针对整数输出的控制符,其作用是输出一个 2 位的整数,若实际数值不足 2 位,会在右侧用 0 进行占位;%-3d 同样用于整数输出,它会输出一个 3 位的整数,要是数值不够 3 位,会在左侧用 0 进行占位。

最后的最后有一个小知识点:

在计算机中,数值的存储和处理是基于二进制的。而十进制小数和二进制小数之间并非总是能精确转换,这就导致了部分十进制小数在计算机里以二进制形式存储时会出现精度损失。要把十进制小数转换为二进制小数,可采用 “乘 2 取整,顺序排列” 的方法。这主要是因为计算机在存储浮点数时,使用的存储空间是有限的,像 float 类型通常用 32 位存储,double 类型用 64 位存储。例如 0.14 不能用有限位二进制小数精确表示,所以计算机只能截取一定位数的二进制小数来近似表示它,这就造成了精度损失。

望各位小伙伴们多多指教

相关文章:

  • [音视频]基于h264的直播与点播技术栈整理
  • 模拟浏览器指纹:生成与定制特定属性
  • 【数据资产入表】数据确权
  • tortoiseSVN切换登录账号失败【已解决】
  • 实验二 两个多位十进制数相加实验
  • IPC(进程间通信)---- 信号
  • Java实现AES加密解密终极指南:从基础到高阶实战
  • Python网络编程从入门到精通:Socket核心技术+TCP/UDP实战详解
  • 实战指南 | 通过 Amazon Bedrock 快速接入 DeepSeek-R1 大模型
  • 最佳归并树的虚短怎么处理
  • 【刷题2025】贪心算法+KMP算法+暴力枚举+扫描树线段树+LFU缓存
  • Hanks 液环境镍钛合金应力腐蚀试验机
  • Java练习——day1(反射)
  • 【嵌入式八股4】C++:引用、模板、哈希表与 I/O
  • LeetCode算法题(Go语言实现)_47
  • 操作系统导论——第22章 超越物理内存:策略
  • 基于x86/RK3568电力新能源智能变电站一体化装置
  • CMS 垃圾收集器深度解析
  • 《计算机视觉度量:从特征描述到深度学习》—生成式人工智能在工业检测的应用
  • ceph scrub 导致业务问题优化
  • 蚌埠一动物园用染色犬扮熊猫引争议,园方回应:被投诉已撤走
  • 高明士︱纪念坚苦卓绝的王寿南先生
  • 神二十航天员公布
  • 山东省淄博市委原常委宋振波被“双开”
  • 委托第三方可一次性补缴十多万元的多年社保?广州多人涉嫌被骗后报警
  • 云南巧家警方抓获一名网逃人员:带70余万现金“隐居”山洞,昼伏夜出