卡码网语言基础课 |位置互换

编程入门 行业动态 更新时间:2024-10-25 13:25:02

卡码网语言<a href=https://www.elefans.com/category/jswz/34/1738871.html style=基础课 |位置互换"/>

卡码网语言基础课 |位置互换

卡码网语言基础课 |位置互换

  • 前言
  • 交换变量
  • 代码实现

前言

奇偶位置互换是指字符串的奇数位和偶数位相互交换位置,想要完成字符串交换,需要完成以下步骤:

  • 遍历字符串
  • 第1位和第2位交换
  • 第3位和第4位交换
  • 第 i 位和第 i + 1位交换

交换变量

为了让两个字符相互交换位置,这里需要引入第三个位置:

第一个字符 i所在位置 a,第二个字符 j 所在位置 b,以及空位置 c

  • 步骤一,将字符 i 交换到空位置 c ,此时 位置a为空,位置b为字符j,位置c为字符i
  • 步骤二,将字符j交换到位置a,此时位置a为字符j,位置b为空,位置c为字符i
  • 步骤三,将字符i交换到位置b,此时位置a为字符j,位置bi,位置c为空

这样就完成了位置交换。

具体到代码:

void swap(char &a, char &b) {char temp = a; 		// 步骤一a = b; 				// 步骤二b = temp;			// 步骤三
}

代码实现

首先完成代码的基本结构:

#include <iostream>
#include<string>
using namespace std;int main() {int n;cin >> n;string s;while (n--) {cin >> s;}
}

定义swap函数:

void swap(char &a, char &b) {char temp = a;a = b;b = temp;
}

遍历字符串,并将当前字符和下一位字符交换,当完成第一位和第二位的交换后,我们应该将迭代步数控制为2,执行第三位和第四位的交换:

for (int i = 0; i < s.size() - 1; i += 2) {swap(s[i], s[i + 1]);
}

最后将交换完毕的字符串输出即可。

整体代码如下:

#include <iostream>
#include <string>
using namespace std;void swap(char &a, char &b) {char temp = a;a = b;b = temp;
}int main() {int n;cin >> n;string s;while (n--) {cin >> s;for (int i = 0; i < s.size() - 1; i += 2) {swap(s[i], s[i + 1]);}cout << s << endl;}
}

更多推荐

卡码网语言基础课 |位置互换

本文发布于:2023-11-15 01:09:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1591006.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:基础课   位置   语言   卡码网

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!