设计程序,依次互换字符串str中前后对应奇数位置上的元素,并分别输出原字符串和执行互换操作后的字符串。例如,原字符串为“ggoi romndno”,执行这一操作后的字符串为“good morning”
时间: 2023-04-22 11:07:05 浏览: 107
以下是实现代码:
```python
def swap_odd_even(str):
str_list = list(str)
for i in range(0, len(str_list), 2):
if i + 1 < len(str_list):
str_list[i], str_list[i+1] = str_list[i+1], str_list[i]
return "".join(str_list)
s = "ggoi romndno"
print("原字符串:", s)
s = swap_odd_even(s)
print("互换后字符串:", s)
```
相关问题
依次互换字符串str中前后对应奇数位置上的元素
这是一道编码题,b'\xe4\xbe\x9d\xe6\xac\xa1\xe4\xba\x92\xe6\x8d\xa2\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2str\xe4\xb8\xad\xe5\x89\x8d\xe5\x90\x8e\xe5\xaf\xb9\xe5\xba\x94\xe5\xa5\x87\xe6\x95\xb0\xe4\xbd\x8d\xe7\xbd\xae\xe4\xb8\x8a\xe7\x9a\x84\xe5\x85\x83\xe7\xb4\xa0' 的意思是:在Python的str字符串中,根据奇数位(从左到右,第1、3、5...个字符)的位置上的元素进行互换。
例如,对于字符串'abcdefg',根据奇数位的位置互换后,得到'badcfeg'。
定义函数char*fun(char*str),依次交换字符串str中前后对应奇数位置上的元素,并在函数中分别输出原字符串和执行互换后的字符串
以下是一个可能的实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
char* fun(char* str) {
int len = strlen(str);
for (int i = 0; i < len - 1; i += 2) {
char temp = str[i];
str[i] = str[i + 1];
str[i + 1] = temp;
}
cout << "Original string: " << str << endl;
return str;
}
int main() {
char str[] = "hello world";
char* result = fun(str);
cout << "Swapped string: " << result << endl;
return 0;
}
```
在这个实现中,我们首先计算字符串的长度,然后使用一个循环来依次交换前后对应奇数位置上的元素。在每次交换之后,我们都会打印出原字符串和当前的字符串。最后,我们返回经过交换后的字符串,并在主函数中打印出来。
阅读全文