保留几位小数的函数、全排列函数、​反斜杠的作用、二进制、八进制、十六进制的输入​、求三角形面积的三种方法、求平方根、N次方如何表示

news2025/1/10 1:43:55

保留几位小数的函数

方法一:

头文件

#include<iomanip>

格式

cout<<fixed<<setprecision(int n)<<a;

作用:把a保留三位小数

方法二:

还有一种方法,就是用C++从C语言保留的printf()方法。

保留二位小数:printf("%.2f", 数)


全排列函数

函数原型:

 #include <algorithm>

 bool next_permutation(iterator start,iterator end)

例子

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int num[3]={1,2,3};
    do
    {
        cout<<num[0]<<" "<<num[1]<<" "<<num[2]<<endl;
    }while(next_permutation(num,num+3));
    return 0;
}

结果

 

当我们把while(next_permutation(num,num+3))中的3改为2时,输出就变为了:

next_permutation(num,num+n)函数是对数组num中的前n个元素进行全排列,同时并改变num数组的值。

next_permutation()在使用前需要对欲排列数组按升序排序,否则只能找出该序列之后的全排列数。比如,如果数组num初始化为2,3,1,那么输出就变为了:


反斜杠的作用

如何在输出语句中输出“”
反斜杠"\"后面的一个字符原样输出。

例如:

#include <stdio.h>
 
void main()
{
    printf("\"hh\"");
 
    return 0;
}

输出结果是"hh"


如何在输出语句中输出 \
在 \ 后面再加一个 \

#include <stdio.h>
 
void main()
{
    printf("\\");
 
    return 0;
}

结果是 \


结论1:若只输出反斜杠时,奇数个反斜杠输出编译不通过

 若有如下代码

cout<<"\\n";

输出结果为

\n

结论2:转义字符 \\ 得到的 \ 不再参与组成新的转义字符 

 


字符串中反斜杠\的特殊性

char a[10]="\0\0"; 

\0是转义字符,表示空格,又因为在字符串中,空格是字符串结束的标志,所以字符串a的长度是0。

char a[10]="\\0\0"; 

第一个反斜杠后面还是反斜杠,\\ 是转义字符,表示一个反斜杠。 然后是字符0,再就是结束符 \0。 所以a表示的是字符串 \0  

 


例子 s="abc"

比如说我们想定义一个带有双引号的字符串 s="abc";

  • s="abc"  这样s输出是没有双引号的。
  • s=" "abc" " 这样连编译都不通过

出现这个问题的原因是双引号原本就是表示字符串的边界的,所以处理起来格外棘手。

有了转义字符,直接在双引号前加上\, \" 就是一个表示双引号的转义字符,问题一下子就解决了。

  s=" \" abc\" ";

二进制、八进制、十六进制的输入

1)二进制

二进制数字由 0 和 1 组成

以 0b / 0B 开头,不区分大小写(数字0,而非字母o,下同)

//正确的书写格式:
 
int a = 0b101; //表示十进制数字 5
 
int b = -0B110; //表示十进制数字 -6

2)八进制

八进制数字由 0~7 的数字组成

以数字 0 开头

//正确的书写格式:


int a = 011; //表示十进制数字 9

int b = -0101; //表示十进制数字 -65

 

注意

//错误1
int c = 61;
 
int d = 061;
 
//c无前缀0,为十进制数字 61
//d为八进制数字 61,表示十进制下 49
 
//错误2
int x = 0A1;
 
//A表示十六进制下的10
//并非八进制数字
//书写无效

3)十六进制

由数字 0~9 和字母 a~f (A~F)表示,不区分大小写

以 0x / 0X 开头,

//正确的书写格式:


int a = 0xffff;//表示十进制数字 65535


int b = -0X1001;//表示十进制数字 -4097

注意: 

//错误1
 
int a = Aff1; 
//没有引用 0x/0X 前缀
//此为无效书写
 
//错误2
int b = 0XafH;
 
//字母 H 不在 a~f 的范围内
//此为无效书写

输出:

int main()
{
	int n = 0;
	printf("输入一个八进制数字:");
	scanf("%o", &n);
	printf("十进制为:%d\n", n);
	printf("八进制为:%o\n", n);
	printf("十六进制为:%x\n", n);
	return 0;
}
 
 
// 输出
 
输入一个八进制数字:022
十进制为:18
八进制为:22
十六进制为:12

 求三角形面积的三种方法

鞋带公式

为什么叫做鞋带公式,这是因为在计算的过程很像鞋带一样缠绕着,

比如一个多边形(三角形),

三个顶点分别是 A:(x1, y1) , B:(x2, y2) , C:(x3, y3)

鞋带公式是这样子算的:

S三角形=0.5∗((x1∗y2+x2∗y3+x3∗y1)−(y1∗x2+y2∗x3+y3∗x1)) 

代个例子A:(0, 4) , B:(0, 0) , C:(3, 0) 到公式中:

S三角形=0.5∗((0∗0+0∗0+3∗4)−(4∗0+0∗3+0∗0))=6

 在计算多边形面积的时候很方便。

 

首先参考一个例子,展示如何利用鞋带定理计算多边形面积。

我们只需选择一个顶点,然后按照逆时针顺序读取坐标,最后回到起点。

并按照类似系鞋带的顺序将坐标串联起来。 

将绿线相连的数直接相乘,再相加;将红线相连的数直接相乘,再相加。最后将两者相减,则多边形的面积为110/2=55

海伦公式

而公式里的p为半周长(周长的一半):

三角形面积公式

 S = 1/2 * a * b * sin(C)

首先得到两边的长度,通过叉积算出夹角的正弦值,并使用公式计算出面积。

求平方根

#include <bits/stdc++.h>

using namespace std;

int main(){
	int n;
	cin >> n;
	
	// 	求n的平方根
	double r = sqrt(n);
	cout << r << endl; 
}

N次方如何表示

例如10的3次方
第一种方法:1e+3,10的-3次方则后面添上负号即1e-3,e前面必须要有数字。
第二种方法:利用函数pow(x,y);
即pow(10,3);注意要加上头文件cmath。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1373710.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QML实现的图片浏览器

很久之前实现了一个QWidget版本的图片浏览器:基于Qt5的图片浏览器QHImageViewer 今天用QML也实现一个,功能差不多: ●悬浮工具栏 ●支持图片缩放、旋转、还原、旋转、拖动。 ●拖动图片时,释放鼠标图片会惯性滑动。 ●支持左右翻页查看文件夹中的图片。 ●支持保存图片至本…

低代码的应用场景

Gartner 在 2019 年的低代码调研报告中&#xff0c;曾经绘制过一张用来阐述低代码适用场景的“应用金字塔”&#xff0c;如下图所示&#xff1a; 应用级别划分&#xff1a;从下往上&#xff0c;分别为工作组级(Workgroup Class)、部门级(Departmental Class)、企业级(Enterpris…

【HashMap】结构和底层原理

文章目录 HashMap结构和底层原理 HashMap 结构和底层原理 ​ HashMap 是我们非常常用到数据结构&#xff0c;由数组和链表构成的数据结构&#xff0c;数组里面每个地方都存了 key-value 这样的实例&#xff0c;在Java7叫 Entry 在 Java8 中叫 Node ​ 因为他本身所有的位置都…

模型的权值平均的原理和Pytorch的实现

一、前言 模型权值平均是一种用于改善深度神经网络泛化性能的技术。通过对训练过程中不同时间步的模型权值进行平均&#xff0c;可以得到更宽的极值点&#xff08;optima&#xff09;并提高模型的泛化能力。 在PyTorch中&#xff0c;官方提供了实现模型权值平均的方法。 这里…

李沐-《动手学深度学习》--02-目标检测

一 、目标检测算法 1. R-CNN a . 算法步骤 使用启发式搜索算法来选择锚框&#xff08;选出多个锚框大小可能不一&#xff0c;需要使用Rol pooling&#xff09;使用预训练好的模型&#xff08;去掉分类层&#xff09;对每个锚框进行特征抽取&#xff08;如VGG,AlexNet…)训练…

MYSQL篇--事务机制高频面试题

事务 1 什么是数据库事务&#xff1f; 事务是一个不可分割的数据库操作序列&#xff0c;也是数据库并发控制的基本单位&#xff0c;其执行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务是逻辑上的一组操作&#xff0c;要么都执行&#xff0c;要么都不执行。…

【sqlite3】sqlite3在linux下使用sqlitebrowser工具实现数据可视化

sqlite3在linux下使用sqlitebrowser工具实现数据可视化 1. ### install sqlitebrowser 1. ### install sqlitebrowser 安装指令 sudo apt-get install sqlitebrowser通过工具打开数据库 sqlitebrowser stereo.db打开效果

HTTPS详解及openssl简单使用

OpenSSL 中文手册 | OpenSSL 中文网 本文介绍https传输协议中涉及的概念&#xff0c;流程&#xff0c;算法&#xff0c;如何实现等相关内容。 HTTP传输过程 HTTP 之所以被 HTTPS 取代&#xff0c;最大的原因就是不安全&#xff0c;至于为什么不安全&#xff0c;看了下面这张图…

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”

TF-A是ARM公司提供的&#xff0c;ST公司通过修改它&#xff0c;做了一个自己的TF-A代码。因为在后期开发中&#xff0c;若硬件被改变了&#xff0c;我们需要通过修改"ST官方的TF-A源码"就可以自己的TF-A代码了。为了防止源文件被误改了&#xff0c;我们需要将"S…

亲测,Chatgpt4.0充值(虚拟卡充值)

一、准备工作&#xff1a; 1、一个ChatGPT3.5账号 2、一张支持ChatGPT4.0的虚拟卡 二、流程【网页版充值】 充值前请先确认以下三点&#xff1a; 1&#xff0c;ChatGPT账户正常登陆。 2&#xff0c;充值过程中始终保持美区环境&#xff0c;且开启全局模式。 3&#xff0…

简洁计算器Python代码

简洁的Python计算器&#xff0c;直接上代码&#xff08;用时10分钟&#xff09;&#xff1a; Python Gui图形化开发探索GUI开发的无限可能&#xff0c;使用强大的PyQt5、默认的Tkinter和跨平台的Kivy等工具&#xff0c;让Python成为你构建应用程序的得力助手。从本机用户界面到…

在 WinForms 应用程序中实现 FTP 文件操作及模式介绍

在 WinForms 应用程序中实现 FTP 文件操作及模式介绍 简介 在许多应用程序中&#xff0c;能够从远程服务器获取文件是一个非常有用的功能。本文将详细介绍如何在 Windows Forms (WinForms) 应用程序中使用 FTP 协议进行文件操作&#xff0c;包括连接到 FTP 服务器、列出目录、…

邂逅Node.JS的那一夜

邂逅Node.JS的那一夜&#x1f303; 本篇文章&#xff0c;学习记录于&#xff1a;尚硅谷&#x1f3a2; 本篇文章&#xff0c;并不完全适合小白&#xff0c;需要有一定的HTML、CSS、JS、HTTP、Web等知识及基础学习&#xff1a; &#x1f197;&#xff0c;紧接上文&#xff0c;…

通过反射修改MultipartFile类文件名

1、背景 项目上有这样一个需求&#xff0c;前端传文件过来&#xff0c;后端接收后按照特定格式对文件进行重命名。(修改文件名需求其实也可以在前端处理的) //接口类似于下面这个样子 PosMapping("/uploadFile") public R uploadFile(List<MultipartFile> fil…

Spring Boot注解大全:从入门到精通,轻松掌握Spring Boot核心注解!

目录 1、前言 2、介绍 2.1 Spring Boot简介 2.2 为什么要学习Spring Boot注解 3、Spring Boot基本注解 3.1 SpringBootApplication 3.2 EnableAutoConfiguration 3.3 ComponentScan 4、控制器注解 4.1 RestController 4.2 RequestMapping 4.3 PathVariable 4.4 Re…

主播风格的多样性

主播风格是主播在直播过程中表现出来的一种个性特点&#xff0c;它可以影响观众的感知和互动体验。以下是常见的几种主播风格: 1.时尚型:这种风格的主播通常穿着时尚、前卫&#xff0c;以潮流、新颖的形象出现在观众面前&#xff0c;善于捕捉时尚元素&#xff0c;并能够将其融…

JAVA销售数据决策管理系统源码

JAVA销售数据决策管理系统源码 基于BS&#xff08;Extjs Strus2springhibernate Mysql&#xff09;的销售数据的决策支持 主要的功能有 系统功能具体内容包括基础资料、进货管理、出货管理、库存管理、决策分析、系统管理。

基于书生·浦语大模型应用开发范式介绍

文章目录 大模型应用开发范式LangChain简介构建向量数据库搭建知识库助手RAG方案优化建议 大模型应用开发范式 通用大模型的优势&#xff1a; 强大的语言理解、指令跟随、语言生成的能力可以理解用户自然语言的指令具有强大的知识储备和一定的逻辑推理能力。 通用大模型局限…

springboot私人健身与教练预约管理系统源码和论文

随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&#xf…

中国智造闪耀CES | 木牛科技在美国CES展亮相多领域毫米波雷达尖端方案

素有全球科技潮流“风向标”之称的2024国际消费类电子产品展&#xff08;CES&#xff09;&#xff0c;于1月9-12日在美国拉斯维加斯会议中心举办。CES是全球最大的消费电子和消费技术展览会之一&#xff0c;汇集了世界各地优秀的消费电子和科技公司&#xff0c;带着最好的产品来…