问题描述
题目描述
给定一个长度为偶数位的字符串,请编程实现字符串的奇偶位互换。
输入描述
输入包含多组测试数据。
输入的第一行是一个整数n,表示有测试数据。(整个输入中,只有一个n)
接下来是n组测试数据,保证串长为偶数位(串长<=50)。
输出描述
请为每组测试数据输出奇偶位互换后的结果,每组输出占一行。
输入示例
2
0aa0
bb00
输出示例
a00a
bb00
python解法
# """
# ******************* 函数解法 **********************
# """
# # 定义交换元素函数
# def swap(a, b):
# return b, a
# # 获取输入
# n = int(input())
# for _ in range(n):
# # 获取输入的字符串
# s = input()
# # 转化为数组,便于操作
# chs = list(s)
# # 遍历列表,迭代步数为2
# for i in range(0, len(chs)-1, 2):
# chs[i], chs[i+1] = swap(chs[i], chs[i+1])
# # 最后将字符列表转换成字符串输出
# print("".join(chs))
"""
******************* 简便解法 *************************
"""
# 获得输入
n = int(input())
for _ in range(n):
# 获取输入的字符串
s = input()
# 转化为数组,便于操作
chs = list(s)
# 遍历列表,迭代步数为2
for i in range(0, len(chs) - 1, 2):
chs[i], chs[i+1] = chs[i+1], chs[i]
# 最后将字符列表转换成字符串输出
print("".join(chs))
C++解法
# include<iostream>
# include<string>
// 交换两个字符串
void swap(char &a, char &b){
char temp = a;
a = b;
b = temp;
}
int main(){
int n;
std::cin >> n;
while (n--){
std::string s;
// 接收字符串s
std::cin >> s;
// 在s字符串上原地修改
for (int i = 0; i < s.size() - 1; i+=2){
// 调用函数,完成字符串的交换
swap(s[i], s[i+1]);
}
std::cout << s << std::endl;
}
}