输入若干英文单词,对这些单词按字母表升序排序后输出,c语言编程
时间: 2024-04-30 20:21:02 浏览: 143
C语言的单词排序
可以使用C语言的库函数`qsort()`来对字符串数组进行排序,具体实现如下:
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_WORDS 100
#define MAX_WORD_LENGTH 20
// 比较函数,用于排序
int cmp(const void *a, const void *b) {
return strcmp(*(const char **)a, *(const char **)b);
}
int main() {
char words[MAX_WORDS][MAX_WORD_LENGTH];
int n = 0;
// 读取输入的单词,以空格或换行符分隔
char c;
while ((c = getchar()) != EOF && c != '\n') {
if (c == ' ') {
words[n++][0] = '\0';
} else {
words[n][strlen(words[n])] = c;
}
}
words[n++][0] = '\0';
// 对单词数组进行排序
qsort(words, n, sizeof(words[0]), cmp);
// 输出排序后的结果
for (int i = 0; i < n; i++) {
printf("%s ", words[i]);
}
printf("\n");
return 0;
}
```
这里假设输入的单词数不超过100,每个单词长度不超过20。在实际使用时,可能需要根据具体情况进行修改。
阅读全文