将5个单词从小到大排序后输出。用指针数组存放单词
时间: 2024-02-03 21:14:14 浏览: 123
可以按照以下步骤实现:
1. 定义字符数组指针类型的指针数组,用于存放单词。
2. 通过指针数组分别指向每个单词的首字母。
3. 使用冒泡排序算法将指针数组中的单词按照字典序从小到大排序。
4. 输出排序后的单词。
下面是示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_WORD_LEN 20 // 假设单词长度不超过20个字符
int main() {
char words[][MAX_WORD_LEN] = {"apple", "banana", "cat", "dog", "elephant"};
int n = sizeof(words) / sizeof(words[0]); // 单词个数
char *ptrs[n]; // 指针数组,用于存放单词的地址
// 将指针数组中的元素分别指向单词的首字母
for (int i = 0; i < n; i++) {
ptrs[i] = words[i];
}
// 冒泡排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (strcmp(ptrs[j], ptrs[j + 1]) > 0) {
char *temp = ptrs[j];
ptrs[j] = ptrs[j + 1];
ptrs[j + 1] = temp;
}
}
}
// 输出排序后的单词
for (int i = 0; i < n; i++) {
printf("%s ", ptrs[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
apple banana cat dog elephant
```
阅读全文