写一个c语言代码,将字符串反序后插入到原字符串后,要求输出结果为原字符串加反串后的字符串,例如输入abcdefg,输出abcdefggfedcba
时间: 2023-06-16 13:07:47 浏览: 146
以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100], reversed_str[100];
int i, j, len;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
// 反转字符串
for (i = 0, j = len - 1; i < len; i++, j--) {
reversed_str[i] = str[j];
}
// 将反转后的字符串插入到原字符串后面
for (i = len, j = 0; j < len; i++, j++) {
str[i] = reversed_str[j];
}
str[i] = '\0'; // 在字符串结尾添加 '\0'
printf("输出结果为:%s\n", str);
return 0;
}
```
这个代码会先读取一个字符串,然后将其反转,并将反转后的字符串插入到原字符串的后面,最后输出结果。
相关问题
写一个c语言代码,将字符串反序后插入到原字符串后,例如输入abcdefg,输出abcdefggfedcba
以下是一个实现该功能的C语言代码:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str){
int l = strlen(str);
int i, j;
char temp;
for(i = 0, j = l - 1; i < j; i++, j--){
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
int main(){
char str[100];
printf("请输入字符串:");
scanf("%s", str);
reverse(str);
printf("%s", str);
reverse(str);
printf("%s", str);
return 0;
}
```
首先定义了一个 `reverse` 函数,用来将字符串反序。在 `main` 函数中,先输入字符串并调用 `reverse` 函数将其反序后输出,再次调用 `reverse` 函数将其恢复原来的顺序并输出。
用C语言输入一个字符串输出反序后的字符串
在C语言中,你可以通过动态内存分配和字符数组操作来实现字符串反转。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
// 功能:反转字符串
void reverse_string(char* str) {
int length = strlen(str);
char temp;
for (int i = 0; i < length / 2; i++) {
temp = str[i];
str[i] = str[length - i - 1]; // 交换字符位置
str[length - i - 1] = temp;
}
}
int main() {
char input[100]; // 定义足够大的数组用于输入
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 从标准输入读取字符串
// 移除fgets读取的换行符
if (input[strlen(input) - 1] == '\n') {
input[strlen(input) - 1] = '\0';
}
reverse_string(input); // 反转字符串
printf("反转后的字符串是: %s\n", input);
return 0;
}
```
在这个程序中,`reverse_string`函数接收一个指向字符数组的指针,然后逐个字符地交换首尾位置,完成字符串反转。`main`函数则负责获取用户输入并调用这个函数。
阅读全文