给定长度为偶数位的0,1字符串,请编写程序奇偶互换,c语言
时间: 2024-10-27 12:15:18 浏览: 19
C语言中求字符串长度的函数的几种实现方法
5星 · 资源好评率100%
在 C 语言中,你可以通过遍历字符串并将相邻的两个字符交换来实现奇偶位置的互换。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void swap_even_odd(char *str) {
int len = strlen(str);
if (len % 2 == 0) { // 检查字符串长度是否为偶数
for (int i = 0; i < len - 1; i += 2) { // 从第一个开始,每次步进2,即每对字符
char temp = str[i]; // 存储当前奇数位置的字符
str[i] = str[i+1]; // 将偶数位置的字符移到奇数位置
str[i+1] = temp; // 将临时存储的奇数位置字符放回原位置
}
}
}
int main() {
char input[100];
printf("请输入一个偶数长度的0,1字符串:");
fgets(input, sizeof(input), stdin); // 获取用户输入
// 移除fgets产生的换行符
input[strcspn(input, "\n")] = '\0';
swap_even_odd(input);
printf("交换后的字符串:%s\n", input);
return 0;
}
```
在这个程序中,`swap_even_odd` 函数接受一个字符串作为参数,检查其长度是否为偶数,然后遍历并交换每个奇数位置和偶数位置的字符。`main` 函数用于获取用户输入并调用这个函数。
阅读全文