用指向指针的指针的方法对任意输入的5个字符串进行排序,写一段c语言程序
时间: 2023-12-29 07:10:39 浏览: 33
以下是用指向指针的指针的方法对任意输入的5个字符串进行排序的C语言程序:
```c
#include <stdio.h>
#include <string.h>
void sort(char **str, int n) {
int i, j;
char *temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(str[i], str[j]) > 0) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
}
int main() {
char *str[5];
int i;
printf("请输入5个字符串:\n");
for (i = 0; i < 5; i++) {
str[i] = (char *)malloc(100 * sizeof(char));
scanf("%s", str[i]);
}
sort(str, 5);
printf("排序后的结果为:\n");
for (i = 0; i < 5; i++) {
printf("%s\n", str[i]);
}
for (i = 0; i < 5; i++) {
free(str[i]);
}
return 0;
}
```
在上述代码中,我们定义了一个指向指针的指针`char **str`,并用`malloc()`函数动态分配了5个字符串的内存空间。然后,我们通过`scanf()`函数从标准输入中读取这5个字符串。接着,我们调用`sort()`函数,使用冒泡排序法对这5个字符串进行排序。最后,我们用`printf()`函数将排序后的结果输出到屏幕上,并在程序结束前释放分配的内存空间,以避免内存泄漏。