用c++实现输人字符串 strl 和数字 n,将字符串前口个字符前后顺序反转存储在 str2 中并输出
时间: 2023-09-03 19:04:58 浏览: 119
### 回答1:
以下是实现该功能的 C++ 代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void reverse(char* str, int n) {
char temp;
for(int i = 0; i < n / 2; i++) {
temp = str[i];
str[i] = str[n - i - 1];
str[n - i - 1] = temp;
}
}
int main() {
char str1[100], str2[100];
int n;
cout << "请输入字符串和数字:" << endl;
cin >> str1 >> n;
if(n > strlen(str1)) {
cout << "输入错误!" << endl;
return 0;
}
strncpy(str2, str1, n);
reverse(str2, n);
strcat(str2, str1 + n);
cout << "反转后的字符串为:" << str2 << endl;
return 0;
}
```
在这个程序中,我们使用 `strncpy()` 函数将 `str1` 的前 `n` 个字符复制到 `str2` 中,然后使用 `reverse()` 函数将 `str2` 的前 `n` 个字符进行反转。最后,我们使用 `strcat()` 函数将反转后的 `str2` 和 `str1` 的第 `n+1` 个字符之后的部分拼接起来,形成最终的字符串,并输出。
### 回答2:
要实现这个功能,可以按照以下步骤进行:
1. 首先,在 C 语言中,我们可以使用字符数组来存储字符串。声明一个大小足够容纳待输入字符串的字符数组 strl。
2. 接下来,使用 scanf 函数从用户输入中读取字符串,并将其存储在 strl 中。例如:scanf("%s", strl);。
3. 然后,输入一个数字 n,用来表示需要反转的字符个数。同样使用 scanf 函数从用户输入中读取数字 n,并将其保存在一个整型变量中。例如:scanf("%d", &n)。
4. 接着,声明一个大小足够容纳反转后字符串的字符数组 str2。
5. 使用一个循环,从 strl 中找出前 n 个字符,并按照相反的顺序存储到 str2 中。考虑到 str2 数组的结尾应该以空字符 '\0' 结束,可以使用数组下标 i 从尾部开始存储,同时使用变量 j 从头部开始遍历 strl。如:str2[i] = strl[j],i--,j++,直到存储了 n 个字符。
6. 最后,输出 str2 数组,即为反转后的字符串。可以使用 printf 函数,如 printf("%s\n", str2)。
总结来说,通过上述步骤,我们可以实现将输入字符串 strl 的前 n 个字符进行反转存储,并输出结果。
### 回答3:
可以使用以下的C语言代码来实现这个需求:
```c
#include <stdio.h>
#include <string.h>
void reverse(char str[], int n) {
int len = strlen(str);
if (n <= len) {
char str2[100];
int i, j;
// 将 str 前 n 个字符逆序存入 str2
for (i = n-1, j = 0; i >= 0; i--, j++) {
str2[j] = str[i];
}
// 将 str 后面的字符存入 str2
for (i = n; i < len; i++) {
str2[i] = str[i];
}
// 将反转后的结果输出
printf("反转后的字符串为:%s\n", str2);
} else {
printf("输入的 n 大于字符串长度!\n");
}
}
int main() {
char str[100];
int n;
printf("请输入一个字符串:");
scanf("%s", str);
printf("请输入一个数字 n:");
scanf("%d", &n);
reverse(str, n);
return 0;
}
```
这段代码会先从用户那里获取一个字符串 `str` 和一个数字 `n`。然后,它会按照要求将字符串 `str` 的前 `n` 个字符前后顺序反转存储在一个新的字符串 `str2` 中,并将 `str2` 输出到控制台上。需要注意的是,这段代码假设 `str` 的长度不会超过 100 个字符。如果输入的 `n` 大于字符串长度,将会输出一个错误信息。
阅读全文