本题将5个字符串从小到大排序后输出(用指针数组实现)。 函数接口定义: void fsort(char *color[ ], int n); 其中 color为指针数组首地址,n是字符串个数。,要求仅适用stdio.h与string.h
时间: 2024-02-09 13:10:29 浏览: 78
请用指针数组的方法将字符串排序
好的,这是一个简单的字符串排序问题,我们可以使用冒泡排序算法实现。
以下是实现代码:
```c
#include <stdio.h>
#include <string.h>
void fsort(char *color[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (strcmp(color[j], color[j + 1]) > 0) {
// 交换指针
char *temp = color[j];
color[j] = color[j + 1];
color[j + 1] = temp;
}
}
}
}
int main() {
char *colors[5] = {"red", "blue", "green", "yellow", "black"};
fsort(colors, 5);
for (int i = 0; i < 5; i++) {
printf("%s ", colors[i]);
}
printf("\n");
return 0;
}
```
我们首先定义了一个指针数组,其中每个元素指向一个字符串常量。然后我们调用 `fsort()` 函数,该函数使用冒泡排序算法进行字符串排序。最后我们输出排序后的结果。
输出结果如下:
```
black blue green red yellow
```
希望对您有帮助!
阅读全文