用c语言单词按字母排序
时间: 2024-03-13 12:18:11 浏览: 57
以下是一个简单的C语言程序,可以将一组单词按字母顺序排序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_WORDS 100
#define MAX_LENGTH 50
void sortWords(char words[][MAX_LENGTH], int n);
int main()
{
char words[MAX_WORDS][MAX_LENGTH];
int n, i;
printf("Enter the number of words: ");
scanf("%d", &n);
printf("Enter %d words:\n", n);
for (i = 0; i < n; i++) {
scanf("%s", words[i]);
}
sortWords(words, n);
printf("\nThe sorted words are:\n");
for (i = 0; i < n; i++) {
printf("%s\n", words[i]);
}
return 0;
}
void sortWords(char words[][MAX_LENGTH], int n)
{
char temp[MAX_LENGTH];
int i, j;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(words[i], words[j]) > 0) {
strcpy(temp, words[i]);
strcpy(words[i], words[j]);
strcpy(words[j], temp);
}
}
}
}
```
该程序首先提示用户输入要排序的单词数量,然后提示用户逐个输入这些单词。程序使用 `scanf()` 函数读取每个单词,并将它们存储在一个二维字符数组 `words` 中。接下来,程序调用名为 `sortWords()` 的函数,该函数使用嵌套的循环比较每对单词,并按字母顺序排序它们。最后,程序打印出排好序的单词列表。
请注意,该程序使用了 C 语言库函数 `strcmp()` 来比较两个字符串的大小关系,并使用 `strcpy()` 函数来交换两个字符串。
阅读全文