7-11 英文单词排序c语言
时间: 2023-08-23 15:18:54 浏览: 76
以下是一个简单的C语言程序,用于对从键盘输入的7-11英文单词进行排序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_WORDS 11
#define MAX_WORD_LENGTH 20
int main(void) {
char words[MAX_WORDS][MAX_WORD_LENGTH];
char temp[MAX_WORD_LENGTH];
int i, j;
// 从键盘输入单词
printf("请输入 %d 个单词,每个单词长度不得超过 %d 个字符:\n", MAX_WORDS, MAX_WORD_LENGTH - 1);
for (i = 0; i < MAX_WORDS; i++) {
scanf("%s", words[i]);
}
// 对单词进行排序
for (i = 0; i < MAX_WORDS - 1; i++) {
for (j = i + 1; j < MAX_WORDS; j++) {
if (strcmp(words[i], words[j]) > 0) {
strcpy(temp, words[i]);
strcpy(words[i], words[j]);
strcpy(words[j], temp);
}
}
}
// 输出排序后的单词
printf("排序后的单词为:\n");
for (i = 0; i < MAX_WORDS; i++) {
printf("%s\n", words[i]);
}
return 0;
}
```
该程序使用了一个二维字符数组 `words` 来存储输入的单词,其中 `MAX_WORDS` 定义了单词的最大数量,`MAX_WORD_LENGTH` 定义了单词的最大长度(包括结尾的空字符)。
程序首先从键盘输入单词并存储到 `words` 数组中,然后使用冒泡排序对单词进行排序,最后输出排序后的单词。注意,在比较单词大小时,使用了 `strcmp()` 函数,该函数可以比较两个字符串的大小,如果第一个字符串小于第二个字符串,则返回一个负数;如果两个字符串相等,则返回0;如果第一个字符串大于第二个字符串,则返回一个正数。