卡码网语言基础课 | 12. 位置互换
通过本次练习,将要学习到以下C++知识点:
- 位置互换
- 交换变量
- 字符串
题目:给定一个长度为偶数位的字符串,请编程实现字符串的奇偶位互换。
奇偶位互换是指字符串的奇数位和偶数位相互交换位置
即:第一位和第二位交换,第三位和第四位交换,第五位和第六位交换.......依次类推。
一、 位置互换
// 不返回(return)结果,所以返回类型为void, 函数名称为swap
// 传入的参数为两个字符,所以类型为char, 参数名称为a 和 b
void swap(char &a, char &b) { // 交换两个字符串, a和b的内容需要改变,所以需要传递引用// 定义第三个字符,并将字符a的内容赋值给第三个字符char tmp = a;// 将字符a的内容修改为字符b的内容a = b;// 将字符b的内容修改为第三个字符的内容,也就是字符a的内容,a和b之间完成替换b = tmp;
}
以上过程,使用杯子的互换来形象化的解释:

二、 循环遍历
循环遍历整个字符串,并调用交换函数。
//遍历整个输入的字符串,从头开始,至最后,且不遍历最后一位数,并实现奇数位的遍历
for(int i = 0; i < s.size() - 1; i += 2){//调用swap函数,并实现i和i+1的位置互换swap(s[i], s[i + 1]);
}
三、 解答
代码编写
#include <iostream>
#include <string>
using namespace std;//定义位置互换函数
void swap(char &a, char &b){ //交换两个字符串,因为a,b的值会改变,因此使用引用符号char c = a; //将第一位数赋值给第三位,并定义第三位c为char类型a = b; //之后,将第二位数赋值给第一位b = c; //最后,将第三位数赋值给第二位,以此完成交换。
}int main(){int n;cin >> n; //输入n,表示有n组字符串输入string s; //接受每次输入的字符串while(n--){//使用n--,来遍历所有字符串cin >> s; //输入字符串for(int i = 0; i < s.size() - 1; i += 2){//在S字符串上直接进行修改swap(s[i],s[i+1]); //调用swap函数,完成字符串的交换}cout << s << endl; //直接输出字符串s,并换行进行下一组字符串的遍历}
}

相关文章:
卡码网语言基础课 | 12. 位置互换
通过本次练习,将要学习到以下C知识点: 位置互换交换变量字符串 题目:给定一个长度为偶数位的字符串,请编程实现字符串的奇偶位互换。 奇偶位互换是指字符串的奇数位和偶数位相互交换位置 即:第一位和第二位交换&…...
用DOM来读取XML时要注意的一些概念
2023年11月15日,周三下午 在 DOM(文档对象模型)中,有一些重要的概念和术语: 文档对象(Document Object):表示整个 XML 文档的根节点,它是 DOM 树的入口点。元素节点&…...
openresty安装配置,执行shell脚本
下载并解压 OpenResty 源代码: bashCopy code wget https://openresty.org/download/openresty-1.19.9.1.tar.gz tar -zxvf openresty-1.19.9.1.tar.gz cd openresty-1.19.9.1 运行 ./configure 并指定安装路径: bashCopy code ./configure --prefix…...
解决Dockerfile中 Could not initialize class sun.awt.X11FontManager错误
Dockerfile中增加命令 RUN yum install dejavu-sans-fonts fontconfig -y如果您使用的是基于Alpine Linux的发行版,可以使用apk命令来安装DejaVu Sans字体和fontconfig工具 RUN apk update RUN apk add ttf-dejavu fontconfig...
Kubernetes(k8s)进阶
文章目录 Kubernetes进阶一、Namespace(名称空间)1.namespace介绍2.管理namespace查看namespace创建namespaceyaml文件配置namespace 二、Pod(最小基本部署单元)1.pod介绍2.管理pod创建并运行pod查看pod信息访问pod删除podyaml文件…...
[Vue 配置] Vite + Vue3 项目配置和使用 NProgress
文章归档:https://www.yuque.com/u27599042/coding_star/mfmsrf9tz98ox3qg 安装 pnpm i nprogress配置 NProgress 其他更多可参考,仓库地址:https://github.com/rstacruz/nprogress 在 src/config/nprogress.js 中进行配置 是否展示右上角圆…...
Android MQTT开发之 Hivemq MQTT Client
使用一个开源库:hivemq-mqtt-client,这是Java生态的一个MQTT客户端框架,需要Java 8,Android上使用的话问题不大,需要一些额外的配置,下面列出了相关的配置,尤其是 packagingOptions,…...
【Maven教程】(十一):使用 Maven 构建 Web应用 —— 使用 jetty-maven-plugin 进行测试、使用 Cargo 实现自动化部署~
Maven 使用 Maven 构建 Web应用 1️⃣ Web 项目的目录结构2️⃣ account-service2.1 account-service的 POM2.2 account-service 的主代码 3️⃣ account-web3.1 account-web 的POM3.2 account-web 的主代码 4️⃣ 使用 jetty-maven-plugin 进行测试5️⃣ 使用 Cargo 实现自动…...
番外 2 : LoadRunner 的安装以及配置
LoadRunner 的安装以及配置教程 一 . 配置 IE 浏览器二 . 安装 LoadRunner 工具三 . 修改默认浏览器的配置四 . 设置 LoadRunner 能够获取本地资源 Hello , 大家好 , 又给大家带来新的专栏喽 ~ 这个专栏是专门为零基础小白从 0 到 1 了解软件测试基础理论设计的 , 虽然还不足以…...
win10正确配置tensorRT环境
目的 使用tensorRT进行网络模型部署,加快推理速度 方法 安装tensorRT的过程需要对各种组件的版本进行匹配 前置安装套件有: 1、CUDA 2、cuDNN 3、pyCUDA 4、tensorflow或pytorch 主要记录tensorRT安装: tensorRT安装配置查询 步骤: 1、去tensorRT官网…...
C++初阶-模板初阶
模板初阶 一、泛型编程二、函数模板2.1函数模板概念2.2函数模板格式2.3函数模板的原理2.4函数模板的原理2.5模板参数的匹配原则 三、类模板3.1类模板的定义格式3.2类模板的实例化 一、泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& …...
基于Python实现汽车销售数据可视化【500010086】
导入模块 import numpy as np import pandas as pd import plotly.graph_objects as go import plotly.express as px获取数据 df1 pd.read_excel(r"./data/中国汽车总体销量.xlsx") print(df1.head(5))df1.info()df1[年份] df1[时间].dt.year df1[月份] df1[时…...
dist.init_process_group() 卡住超时导致报错
在跑模型是遇到一个问题: import torch.distributed as dist dist.init_process_group(backend"nccl", init_methodtcp://localhost:%d % tcp_port, ranklocal_rank, world_sizenum_gpus)程序卡在这一步一动不动。. 解决办法一: 我看网上有人…...
RESTFul API:真是让人又爱又恨
RESTFul API是一种广泛使用的Web服务设计风格,它以资源为中心,通过HTTP方法来操作这些资源。然而,尽管RESTFul架构风格在许多情况下都非常有用,但在实际应用中,我们也发现了一些不足之处。本文将详细阐述这些问题&…...
【洛谷 P1478】陶陶摘苹果(升级版)题解(多重集合+贪心算法)
陶陶摘苹果(升级版) 题目描述 又是一年秋季时,陶陶家的苹果树结了 n n n 个果子。陶陶又跑去摘苹果,这次他有一个 a a a 公分的椅子。当他手够不着时,他会站到椅子上再试试。 这次与 NOIp2005 普及组第一题不同的…...
使用WebSocket实现网页聊天室
一、引言 1. 问题引入 Hypertext Transfer Protocol (HTTP) 协议 一种无状态的、应用层的、以请求/应答方式运行的协议,它使用可扩展的语义和自描述消息格式,与基于网络的超文本信息系统灵活的互动. 因为http 通信只能由客户端发起,服务器返回查询结果…...
《如何控制 LLM 的输出格式和解析其输出结果?》
内容来源:dotey 《如何控制 LLM 的输出格式和解析其输出结果?》 https://baoyu.io/blog/prompt-engineering/how-to-parse-the-output-from-llm 现在很多人对于如何使用像 ChatGPT 这样的 LLM 已经比较有经验了,可以使用各种不同的 Prompt …...
《网络协议》07. 其他协议
title: 《网络协议》07. 其他协议 date: 2022-10-07 18:24:02 updated: 2023-11-15 08:00:52 categories: 学习记录:网络协议 excerpt: IPv6、WebSocket、WebService(SOAP,WSDL)、HTTPDNS、FTP、邮件(SMTP,…...
高压放大器设计要求有哪些内容
设计高压放大器时,需要考虑一系列要求以确保其性能和可靠性。以下是设计高压放大器时的一些重要要求。 输入输出电压范围:高压放大器应具备足够的输入和输出电压范围,以适应特定应用的需求。这包括设计合适的电源供应和电路配置,以…...
1700亿烧光,利润暴跌78%!外媒:中芯国际不是麒麟9000S的代工厂
作为芯片代工领域的领导者,台积电在全球半导体市场上占据着重要的地位。然而,由于美国对华为的制裁,台积电关闭了对华为麒麟芯片的代工,这也引发了外界对于芯片代工模式的讨论。与此同时,中芯国际作为大陆规模最大、技…...
WSABuilds安装挑战:从“包注册失败“到“架构不匹配“的完整解决指南
WSABuilds安装挑战:从"包注册失败"到"架构不匹配"的完整解决指南 【免费下载链接】WSABuilds Run Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/o…...
如何用WaveTools终极优化鸣潮游戏体验:从帧率解锁到抽卡分析的完整指南
如何用WaveTools终极优化鸣潮游戏体验:从帧率解锁到抽卡分析的完整指南 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 如果你正在玩《鸣潮》却经常遇到帧率不稳定、画面卡顿或者抽卡记录混乱的…...
从主题到视频:Pixelle-Video如何用AI重构你的内容创作流程
从主题到视频:Pixelle-Video如何用AI重构你的内容创作流程 【免费下载链接】Pixelle-Video 🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video 想象一下…...
RHEL8 SSH蜜罐实战:生产级威胁感知与行为仿真
1. 为什么在RHEL8上部署SSH蜜罐不是“搞个假登录框”那么简单 很多人第一次听说“SSH蜜罐”,脑子里浮现的是一台开着22端口、用户名密码全设成admin/admin的虚拟机,等着黑客连上来截图发朋友圈。我在金融行业做红蓝对抗支撑的那几年,亲眼见过…...
电商App安全防护原理与合规开发实践指南
我不能提供任何绕过应用反抓包机制、破坏应用安全防护或违反平台服务协议的技术方案。 拼多多App作为一款合法合规运营的商业应用,其反抓包机制是保障用户数据安全、交易隐私和平台生态健康的重要技术手段。逆向分析、调试绕过、协议破解等行为不仅违反《中华人民共…...
差分隐私公平性:基于群体自适应裁剪的DP-SGD改进算法
1. 项目概述与核心问题在构建负责任的人工智能系统时,我们常常面临一个看似矛盾的双重目标:既要保护用户数据的隐私,又要确保算法决策对不同群体是公平的。差分隐私(Differential Privacy, DP)技术,通过在训…...
起点中文网字体反爬破解:WOFF2解析与PUA映射还原实战
1. 为什么起点中文网的字体反爬让90%的爬虫新手直接卡死在第一章?你写好requests,配好headers,连上代理池,信心满满地把起点中文网的小说页面curl下来——结果页面里本该是“第123章 天降神兵”的地方,赫然显示一串乱码…...
如何集成OpenClaw?2026年腾讯云部署及配置Token Plan保姆级步骤
如何集成OpenClaw?2026年腾讯云部署及配置Token Plan保姆级步骤。OpenClaw是开源的个人AI助手,Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案、百炼Token Plan兼容主…...
VMware17装CentOS踩过的那些坑:从镜像选择、密码设置到登录失败的完整避雷指南
VMware17安装CentOS实战避坑指南:从镜像选择到登录失败的深度解析第一次在VMware17上安装CentOS时,我像大多数新手一样,以为只要跟着教程一步步操作就能顺利完成。然而现实给了我一记响亮的耳光——从镜像下载到最终登录,几乎每个…...
Unity InputField组件保姆级配置指南:从登录框到聊天框,一次搞定所有输入场景
Unity InputField组件实战配置指南:从登录验证到聊天系统的深度优化在游戏开发中,用户输入交互是连接玩家与游戏世界的重要桥梁。Unity的InputField组件作为最常用的输入控件之一,其配置灵活性直接影响用户体验的流畅度。本文将深入探讨如何针…...
