每两个字母前后交换,包括感叹号 句号 空格等所有字符 C语言代码
时间: 2024-09-25 08:20:08 浏览: 24
字符串逆序-使用C语言实现的字符串按单词逆序.zip
在C语言中,如果你想要实现每两个字母前后交换的功能,可以编写一个简单的循环处理字符串的函数。下面是一个示例代码,它会接受一个字符串作为输入,并返回一个新的字符串,其中字符按照每两个字母交替排列:
```c
#include <stdio.h>
#include <string.h>
void swap_pairs(char *str) {
int len = strlen(str);
if (len <= 1 || len % 2 == 0) {
printf("输入的字符串长度不足或为偶数,无法进行每两个字母交换。\n");
return;
}
for (int i = 0; i < len - 1; i += 2) {
char temp = str[i];
str[i] = str[i + 1];
str[i + 1] = temp;
}
}
int main() {
char input[100]; // 假设输入不超过100个字符
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin);
// 移除fgets读取的换行符
input[strcspn(input, "\n")] = '\0';
swap_pairs(input);
printf("变换后的字符串: %s\n", input);
return 0;
}
```
当你运行这个程序并输入一个字符串时,例如 "Hello, World!",输出将会是 "!dlroW ,olleH"。
阅读全文