用c++实现输人字符串 strl 和数字 n,将字符串前口个字符前后顺序反转存储在 str2 中并输出
时间: 2023-09-22 12:05:44 浏览: 120
字符串反转(用c++实现)
5星 · 资源好评率100%
### 回答1:
以下是使用C++实现该功能的代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string str1, str2;
int n;
// 输入字符串和数字
cout << "请输入字符串:";
cin >> str1;
cout << "请输入数字:";
cin >> n;
// 反转字符串
for (int i = n - 1; i >= 0; i--) {
str2 += str1[i];
}
for (int i = n; i < str1.length(); i++) {
str2 += str1[i];
}
// 输出反转后的字符串
cout << "反转后的字符串为:" << str2 << endl;
return 0;
}
```
上述代码中,我们使用了 C++ 的 string 类型来存储输入的字符串。首先,我们使用 `cin` 分别输入了字符串和数字。然后,我们使用两个循环来将字符串前 `n` 个字符反转存储在 `str2` 中,并将剩余字符按原来的顺序加入 `str2`。最后,我们输出了反转后的字符串。
### 回答2:
首先,我们可以使用C语言中的字符数组来表示字符串。
在开始之前,我们需要定义一个函数来实现字符串反转。以下是一个用于反转字符串的函数:
```c
void reverseString(char str[]) {
int length = strlen(str);
int i, j;
char temp;
for (i = 0, j = length - 1; i < j; i++, j--) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
```
现在,我们可以编写代码来实现输入一个字符串和一个数字,然后将前n个字符前后顺序反转并存储在str2中。
```c
#include <stdio.h>
#include <string.h>
void reverseString(char str[]) {
int length = strlen(str);
int i, j;
char temp;
for (i = 0, j = length - 1; i < j; i++, j--) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
int main() {
// 定义变量
char str1[100], str2[100];
int n;
// 输入字符串和数字
printf("请输入字符串:");
scanf("%s", str1);
printf("请输入数字:");
scanf("%d", &n);
// 将前n个字符前后顺序反转并存储在str2中
strncpy(str2, str1, n);
str2[n] = '\0'; // 添加字符串结束符
reverseString(str2);
// 输出结果
printf("反转后的字符串为:%s\n", str2);
return 0;
}
```
以上代码首先定义了一个函数`reverseString`,用于反转字符串。然后在主函数中,先输入字符串和数字,然后将前n个字符复制到str2中,并进行字符串反转。最后输出反转后的字符串。
### 回答3:
用C语言实现输入字符串str1和数字n,将字符串前n个字符前后顺序反转存储在str2中并输出。
```c
#include <stdio.h>
#include <string.h>
void reverseString(char *str, int n) {
int len = strlen(str);
if (n > len) {
n = len;
}
for (int i = 0; i < n / 2; i++) {
char temp = str[i];
str[i] = str[n - i - 1];
str[n - i - 1] = temp;
}
}
int main() {
char str1[100];
int n;
printf("请输入字符串:");
scanf("%s", str1);
printf("请输入数字n:");
scanf("%d", &n);
char str2[100];
strcpy(str2, str1);
reverseString(str2, n);
printf("反转后的字符串为:%s\n", str2);
return 0;
}
```
在这个程序中,我们首先使用strcpy函数将输入的字符串str1复制给str2,然后调用reverseString函数将str2的前n个字符依次与相应位置的字符进行反转。最后打印输出str2,即为反转后的结果。如果n超过了str1的长度,我们将n的值设为str1的长度,以避免数组越界错误。
阅读全文