用c语言:采用指针变量作为形参,编写一个实现两字符交换的函数。在主函数中输入一个字符串,调用字符交换函数将其中的字符按从小到大的顺序排序后输出。
时间: 2024-02-24 11:55:09 浏览: 60
好的,下面是代码实现:
```c
#include <stdio.h>
#include <string.h>
void swap(char *a, char *b) {
char temp = *a;
*a = *b;
*b = temp;
}
void sort(char *str, int len) {
for (int i = 0; i < len - 1; i++) {
for (int j = i + 1; j < len; j++) {
if (*(str + i) > *(str + j)) {
swap(str + i, str + j);
}
}
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = strlen(str);
sort(str, len);
printf("排序后的字符串为:%s\n", str);
return 0;
}
```
首先,我们定义了一个 `swap` 函数,用于交换两个字符。其参数为指针类型,即传入两个字符的地址,通过指针来交换两个字符。
然后,我们定义了一个 `sort` 函数,用于对字符串进行排序。其参数为字符串指针和字符串长度,采用冒泡排序的方法,将字符串中的字符按从小到大的顺序排序。
最后,在主函数中,我们输入一个字符串,调用 `sort` 函数进行排序,然后输出排序后的字符串。
阅读全文