写一个c语言代码,将字符串反序后插入到原字符串后,例如输入abcdefg,输出abcdefggfedcba
时间: 2023-06-16 21:07:59 浏览: 45
以下是一个实现该功能的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语言代码,将字符串反序后插入到原字符串后,要求输出结果为原字符串加反串后的字符串,例如输入abcdefg,输出abcdefggfedcba
以下是一个示例代码:
```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语言程序,输入一个字符串,输出反序后的字符串
好的,以下是一个简单的C语言程序,实现了输入一个字符串并输出反序后的字符串:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, 100, stdin);
str[strcspn(str, "\n")] = '\0'; // 去除输入字符串中的换行符
int len = strlen(str);
for (int i = len - 1; i >= 0; i--) {
printf("%c", str[i]);
}
printf("\n");
return 0;
}
```
这个程序中,我们首先定义了一个字符串变量 `str`,用来存储输入的字符串。然后使用 `fgets` 函数从标准输入中读取用户输入的字符串,最后通过循环逆序输出字符串中的每一个字符。
需要注意的是,由于 `fgets` 函数会在输入字符串的末尾添加一个换行符,因此我们需要使用 `strcspn` 函数找到该换行符的位置,并将其替换成字符串的结束符号 `\0`,以避免输出时出现多余的空行。