C++实现1.交换两个整形变量的内容.2.不创建临时变量的条件下,交换两个数的内容.3.求是个整数中的最大值.4.将三个数按从大到小输出.5.求两个数的最大公约数.

本文通过C++代码展示了如何在不使用额外变量的情况下交换两个整数的值,以及如何找到一组整数中的最大值和计算两个数的最大公约数。包括位操作交换、循环法找最大值和辗转相除法求最大公约数。

/////////////////////////////////////////////////////////////////////////
//给定两个整型变量的值,并交换他们的值
int main(){
int a = 10;
int b = 20;
int temp = a;
//创建一个临时变量,来做交换值的中间媒介
a = b;
b = temp;
printf("%d,%d\n", a, b);
system(“pause”);
return 0;
}
//////////////////////////////////////////////////////////////////////
//不允许创建临时变量,交换两个值
//方法一( a + b 有可能溢出)
int main(){
int a = 10;
int b = 20;
a = a + b; //30 20
b = a - b; //30 10
a = a - b; //20 10
printf("%d,%d\n", a, b);
system(“pause”);
return 0;
}
//方法二 按二进制位异或的方法(此方法不会溢出)
//两个二进制位,相同为0,相异为1(因为按位异或不需要进位)
//01010 ->a
//10100 ->b
//11110 ->a
//01010 ->b
//10100 ->a
int main(){
int a = 10;
int b = 20;
a = a^b;
b = a^b;
a = a^b;
printf("%d,%d\n", a, b);
system(“pause”);
return 0;
}
/////////////////////////////////////////////////////////////////
//求十个整数中的最大值
int main(){
int arr[10] = { 10, 20, 15, 18, 19, -1, 7, 4, 3, 0 };
int max = arr[0];
int i = 1;
while (i<10){
if (max < arr[i]){
max = arr[i];
}
i += 1;
}
printf(“max=%d\n”, max);
system(“pause”);
return 0;
}
////////////////////////////////////////////////////////////////
//三个数从大到小输出
int main(){
printf(“请输入三个数字:”);
int arr[3] = { 0 };
scanf("%d %d %d", &arr[0], &arr[1], &arr[2]);
int max;
int min;
if (arr[0] > arr[1]){
max = arr[0];
min = arr[1];
}
else {
max = arr[1];
min = arr[0];
}
if (arr[2] > max){
printf("%d %d %d\n", arr[2], max, min);
}
else if (arr[2] > min){
printf("%d %d %d\n", max, arr[2], min);
}
else{
printf("%d %d %d\n", max, min, arr[2]);
}
system(“pause”);
return 0;
}
/////////////////////////////////////////////////////////////////////////////////
//求两个数的最大公约数
int MaxFactor(int x, int y){
//基于试探的方法,从1开始,一直到x,y两个值中小的那个
int i = 1;
//&&逻辑与得到真和假的值
int max = 1;
while (i <= x && i <= y){
//这个循环的条件:i必须同时满足小于等于x和y
if (x % i == 0 && y % i == 0){
//这个条件成立,说明i是x和y的公约数
max = i;
}
i++;
}
return max;
}
int main(){
int max = MaxFactor(100, 120);
printf("%d\n", max);
system(“pause”);
return 0;
}

代码下载地址: https://pan.quark.cn/s/a4b39357ea24 在计算机视觉技术中,据集扮演着训练和评估模型的核心角色。Labelme作为一个广受欢迎的开源工具,能够支持用户以互方式对图像进行标注,而COCO(Common Objects in Context)则是一种被广泛采纳的据集标准格式,适用于包括物体检测、图像分割在内的多种任务。本文将详细阐述如何将Labelme生成的标注据转换为COCO据集的标准格式。 Labelme标注的图像在输出为JSON格式时,会包含以下核心内容1. `version`: 指明JSON文件的版本信息。 2. `flags`: 目前未定义或保持为空,预留用于未来的功能扩展。 3. `shapes`: 列表形式存储对象的形状信息,每个形状项包含`label`(对象类别名称),`points`(构成对象边缘的多边形顶点),以及`shape_type`(通常为“polygon”)。 4. `imagePath`和`imageData`: 提供原始图像的存储路径和二进制据,便于后续图像的还原。 5. `imageHeight`和`imageWidth`: 明确标注图像的垂直和水平尺寸。 COCO据集的标准格式中定义了三种主要的标注类型: 1. Object instances(目标实例):主要用于执行物体检测任务。 2. Object keypoints(目标上的关键点):适用于人体姿态估计相关应用。 3. Image captions(看图说话):用于生成图像的文本描述。 COCO的JSON结构中包含以下基本组成部分: 1. `images`:记录图像的基本属性,包括`height`(高度)、`...
内容概要:本文围绕基于Basisformer模型的时间序列锂离子电池SOC(State of Charge,荷电状态)预测展开研究,利用PyTorch深度学习框架构建并训练模型,旨在提升锂电池SOC估计的准确性与鲁棒性。该方法融合Transformer架构的核心机制,通过引入基函(Basis)分解策略,有效捕捉电池充放电过程中长时序、非线性动态特征,增强模型对复杂工况的适应能力。研究仅详细阐述了Basisformer的网络结构设计、注意力机制优化与训练流程,还提供了完整的Python代码实现方案,涵盖据预处理、模型搭建、损失函定义、训练验证及结果可视化等环节,便于科研人员快速复现、调优并拓展至其他电池状态预测任务。; 适合人群:具备一定深度学习与Python编程基础,熟悉PyTorch框架,从事电池管理系统(BMS)、新能源汽车、储能系统、智能传感等领域的高校研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于动力电池与储能系统的实时SOC估算模块,提升系统安全性与能量利用效率;②作为学术研究的基础模型,用于复现、改进基于Transformer的时间序列预测方法在电化学系统中的应用;③为据驱动的电池健康状态(SOH)、剩余使用寿命(RUL)联合估计提供可扩展的技术框架。; 阅读建议:建议读者结合所提供的代码与公开电池据集(如NASA、CALCE等)进行动手实践,深入理解模型的输入输出结构与时序建模逻辑,同时可尝试引入温度、老化周期等多维特征,或融合物理模型构建混合预测架构,以进一步提升预测精度与泛化能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值