将5个单词从小到大排序后输出,用指针数组存放单词
时间: 2024-02-03 09:14:10 浏览: 97
下面是一个示例程序,该程序使用指针数组存储5个单词,然后使用冒泡排序算法将它们按照字典序从小到大排序,并输出排序后的结果。
```c
#include <stdio.h>
#include <string.h>
#define MAX_WORD_LEN 100 // 单词最大长度
int main() {
char words[5][MAX_WORD_LEN]; // 存储5个单词的数组
char *ptrs[5]; // 存储5个指针的数组
int i, j;
// 输入5个单词
printf("请输入5个单词:\n");
for (i = 0; i < 5; i++) {
scanf("%s", words[i]);
ptrs[i] = words[i]; // 指针数组中存储每个单词的地址
}
// 使用冒泡排序算法对指针数组进行排序
for (i = 0; i < 4; i++) {
for (j = 0; j < 4 - i; j++) {
if (strcmp(ptrs[j], ptrs[j + 1]) > 0) {
char *temp = ptrs[j];
ptrs[j] = ptrs[j + 1];
ptrs[j + 1] = temp;
}
}
}
// 输出排序后的结果
printf("排序后的结果为:\n");
for (i = 0; i < 5; i++) {
printf("%s\n", ptrs[i]);
}
return 0;
}
```
注意,这里使用了 `strcmp` 函数来比较两个字符串的大小关系。如果返回值小于0,则表示第一个字符串小于第二个字符串;如果返回值等于0,则表示两个字符串相等;如果返回值大于0,则表示第一个字符串大于第二个字符串。
阅读全文