c语言交换字符中的数位
时间: 2023-05-25 16:07:19 浏览: 138
c语言字符串交换
以下是一个实现该功能的示例代码:
```
#include <stdio.h>
void swap(char *a, char *b) {
char temp = *a;
*a = *b;
*b = temp;
}
void swapDigits(char *str) {
int i;
for (i = 0; str[i] != '\0'; i++) {
if (str[i] >= '0' && str[i] <= '9') {
int j;
for (j = i + 1; str[j] != '\0'; j++) {
if (str[j] >= '0' && str[j] <= '9') {
swap(&str[i], &str[j]);
break;
}
}
}
}
}
int main() {
char str[] = "a1b2c3d4e5f6";
printf("Before swapping digits: %s\n", str);
swapDigits(str);
printf("After swapping digits: %s\n", str);
return 0;
}
```
在这个示例中,我们定义了两个函数:`swap`和`swapDigits`。`swap`函数用于交换两个字符的值,`swapDigits`函数则用于实际上的字符数位交换操作。`swapDigits`函数遍历字符串中的每个字符,如果当前字符是数字,则查找字符串中下一个数字,然后交换这两个字符的位置。
在`main`函数中,我们首先定义一个字符串`str`,表示要进行字符数位交换的字符串。然后,我们打印出未进行字符数位交换的字符串,调用`swapDigits`函数进行交换操作,并打印出交换后的字符串。
示例输出:
```
Before swapping digits: a1b2c3d4e5f6
After swapping digits: a2b1c4d3e6f5
```
阅读全文