输入字符串str1和数字n,将字符串前n个字符前后顺序反转储存在str2 中
时间: 2024-04-29 07:22:09 浏览: 108
以下是Python的实现代码:
```python
def reverse_str(str1, n):
# 将前n个字符反转
str2 = str1[:n][::-1]
# 将剩余字符添加到str2的末尾
str2 += str1[n:]
return str2
```
其中,`str1[:n]`表示取字符串`str1`的前n个字符,`[::-1]`表示将取出的字符串反转。最后再将剩余字符添加到反转后的字符串末尾即可。
示例:
```python
str1 = "abcdefg"
n = 3
str2 = reverse_str(str1, n)
print(str2) # 输出"cbadefg"
```
相关问题
输入字符串str1和数字n,将字符串前n个字符前后顺序反转储存在str2 中C++
以下是将字符串前n个字符前后顺序反转储存在str2中的C++代码:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
void reverse(char* str, int n, char* str2) {
// 复制前n个字符到str2中
strncpy(str2, str, n);
// 将str2中的前n个字符反转
for (int i = 0, j = n - 1; i < j; i++, j--) {
char temp = str2[i];
str2[i] = str2[j];
str2[j] = temp;
}
// 将str中的剩余字符复制到str2中
strcpy(str2 + n, str + n);
}
int main() {
char str1[] = "Hello, world!";
int n = 5;
char str2[100];
reverse(str1, n, str2);
cout << str2 << endl; // 输出 "olleH, world!"
return 0;
}
```
在上面的代码中,我们先使用`strncpy()`函数将原字符串str1的前n个字符复制到新字符串str2中,然后使用一个简单的循环将str2中的前n个字符反转。最后,我们使用`strcpy()`函数将原字符串str1中剩余的字符复制到新字符串str2中。注意,这里我们需要预先定义str2的长度,以确保不会发生越界错误。
利用c++,程序设计,输入字符串 str1 和数字n,将字符串前n个字符前后顺序反转存储在 str2 中并输出
下面是一个实现该功能的c++程序:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str1[100], str2[100];
int n;
cout << "请输入字符串 str1: ";
cin >> str1;
cout << "请输入数字 n: ";
cin >> n;
int len = strlen(str1);
if (n > len) {
cout << "n 大于字符串长度,无法反转" << endl;
return 0;
}
strncpy(str2, str1, n); // 复制前n个字符
for (int i = 0; i < n / 2; i++) { // 反转前n个字符
char tmp = str2[i];
str2[i] = str2[n - i - 1];
str2[n - i - 1] = tmp;
}
strcat(str2, str1 + n); // 将剩余字符拼接在后面
cout << "反转后的字符串为: " << str2 << endl;
return 0;
}
```
运行结果如下:
```
请输入字符串 str1: Hello, world!
请输入数字 n: 6
反转后的字符串为: olleH, world!
```
阅读全文