,将5个单词从小到大排序后输出。试使用c语言编写程序
时间: 2023-09-09 11:05:16 浏览: 143
### 回答1:
以下是使用 C 语言编写的程序,可以实现将 5 个单词从小到大排序后输出:
```c
#include <stdio.h>
#include <string.h>
int main() {
char words[5][20];
char temp[20];
// 获取 5 个单词
printf("请输入 5 个单词:\n");
for(int i = 0; i < 5; i++) {
scanf("%s", words[i]);
}
// 冒泡排序
for(int i = 0; i < 5; i++) {
for(int j = i + 1; j < 5; j++) {
if(strcmp(words[i], words[j]) > 0) {
strcpy(temp, words[i]);
strcpy(words[i], words[j]);
strcpy(words[j], temp);
}
}
}
// 输出排序后的结果
printf("排序后的结果为:\n");
for(int i = 0; i < 5; i++) {
printf("%s\n", words[i]);
}
return 0;
}
```
程序的基本思路是先获取 5 个单词,然后使用冒泡排序将它们从小到大排序,最后输出排序后的结果。其中使用了 `strcmp` 函数来比较两个字符串的大小,使用了 `strcpy` 函数来交换两个字符串的值。
### 回答2:
下面是使用C语言编写的程序,可以将5个单词按照字典顺序从小到大排序后输出。
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100
int main() {
char words[5][MAX_LENGTH]; // 存储5个单词的数组
char temp[MAX_LENGTH]; // 临时变量用于交换单词
// 输入5个单词
printf("请输入5个单词:\n");
for (int i = 0; i < 5; i++) {
scanf("%s", words[i]);
}
// 使用冒泡排序法对单词进行排序
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4 - i; j++) {
if (strcmp(words[j], words[j+1]) > 0) {
strcpy(temp, words[j]);
strcpy(words[j], words[j+1]);
strcpy(words[j+1], temp);
}
}
}
// 输出排序后的单词
printf("排序后的单词为:\n");
for (int i = 0; i < 5; i++) {
printf("%s\n", words[i]);
}
return 0;
}
```
在程序中,我们首先定义了一个二维字符数组`words`用于存储5个单词,同时使用`#define`指令定义了单词的最大长度为100。然后使用循环依次输入这5个单词。
接下来,我们使用冒泡排序法对这5个单词进行排序。在每一轮排序中,我们比较相邻两个单词的大小,并根据大小关系进行交换,直到所有的单词都按照大小顺序排列。
最后,我们通过循环输出排序后的单词。
运行程序,输入5个单词后,程序会将这5个单词按照字典顺序从小到大排序后输出。
### 回答3:
下面是使用C语言编写的程序,用于将5个单词按照字典顺序从小到大排序并输出:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
#define NUM_WORDS 5
void sortWords(char words[][MAX_LEN]) {
char temp[MAX_LEN];
for(int i=0; i<NUM_WORDS-1; i++) {
for(int j=0; j<NUM_WORDS-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);
}
}
}
}
int main() {
char words[NUM_WORDS][MAX_LEN];
printf("请输入5个单词:\n");
for(int i=0; i<NUM_WORDS; i++) {
scanf("%s", words[i]);
}
sortWords(words);
printf("排序后的单词为:\n");
for(int i=0; i<NUM_WORDS; i++) {
printf("%s\n", words[i]);
}
return 0;
}
```
上述程序首先定义了最大单词长度和单词个数的常量,并声明了一个用于存储单词的二维字符数组`words`。然后,使用嵌套循环对数组中的单词进行冒泡排序,通过比较相邻两个单词的大小来交换它们的位置,直到所有单词按照字典顺序排列好。排序完成后,程序将输出排序后的单词。以上程序可以根据输入的5个单词进行排序,并将排序结果输出。
阅读全文