将5个单词从小到大排序后输出。用指针数组存放单词。
时间: 2024-02-21 15:57:57 浏览: 82
好的,这是一个比较简单的排序问题,可以使用冒泡排序算法。以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 20
#define WORDS_COUNT 5
int main() {
char *words[WORDS_COUNT] = {"orange", "apple", "banana", "grape", "pear"};
char temp[MAX_LEN];
// 冒泡排序
for (int i = 0; i < WORDS_COUNT - 1; i++) {
for (int j = 0; j < WORDS_COUNT - i - 1; j++) {
if (strcmp(words[j], words[j + 1]) > 0) {
// 交换位置
strcpy(temp, words[j]);
strcpy(words[j], words[j + 1]);
strcpy(words[j + 1], temp);
}
}
}
// 输出排序后的单词
for (int i = 0; i < WORDS_COUNT; i++) {
printf("%s\n", words[i]);
}
return 0;
}
```
这里使用了指针数组来存放单词,排序时直接比较字符串大小即可。
阅读全文