用c语言写 用指向指针的指针的方法对5个字符串排序并输出
时间: 2024-05-13 21:17:18 浏览: 17
下面是用指向指针的指针的方法对5个字符串排序并输出的C语言程序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN][MAX_LEN];
char *p[MAX_LEN];
int i, j, n;
printf("请输入字符串个数:");
scanf("%d", &n);
printf("请输入%d个字符串:\n", n);
for (i = 0; i < n; i++) {
scanf("%s", str[i]);
p[i] = str[i];
}
// 对字符串进行排序
char *temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(p[i], p[j]) > 0) {
temp = p[i];
p[i] = p[j];
p[j] = temp;
}
}
}
// 输出排序后的字符串
printf("排序后的字符串为:\n");
for (i = 0; i < n; i++) {
printf("%s\n", p[i]);
}
return 0;
}
```
程序中,首先定义了一个二维字符数组 `str`,用于存储输入的字符串。然后定义了一个一维字符指针数组 `p`,用于指向 `str` 数组中的每个字符串。接着,通过循环依次输入每个字符串,并将每个字符串的地址存储到 `p` 数组中。然后,使用冒泡排序法对 `p` 数组中的字符串进行排序。最后,循环输出已排序的字符串。