使用C语言2、 随机输入5个英文单词,将这5个英文单词按首字母从a到z的顺序排序输出。分别采用选择排序和冒泡排序解决这一问题。
时间: 2023-06-09 21:03:28 浏览: 100
好的,让我来回答您的问题。
首先,为了实现这个功能,我们需要使用C语言。您可以通过以下代码随机输入5个英文单词,并将它们存储在一个数组中:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int main() {
char words[5][20];
srand(time(NULL));
printf("Randomly generated words:\n");
for (int i=0; i<5; i++) {
for (int j=0; j<20; j++) {
words[i][j] = (char)(rand()%26 + 'a');
}
printf("%s\n", words[i]);
}
// 排序代码在这里
return 0;
}
```
接下来,我们需要使用选择排序和冒泡排序来将这个数组按首字母从a到z的顺序排序,分别可以使用以下代码实现:
选择排序代码:
```
for (int i=0; i<5; i++) {
int min_index = i;
for (int j=i+1; j<5; j++) {
if (strcmp(words[j], words[min_index]) < 0) {
min_index = j;
}
}
char temp[20];
strcpy(temp, words[i]);
strcpy(words[i], words[min_index]);
strcpy(words[min_index], temp);
}
```
冒泡排序代码:
```
for (int i=0; i<5; i++) {
for (int j=0; j<5-i-1; j++) {
if (strcmp(words[j], words[j+1]) > 0) {
char temp[20];
strcpy(temp, words[j]);
strcpy(words[j], words[j+1]);
strcpy(words[j+1], temp);
}
}
}
```
最后,我们可以将排序后的结果输出到控制台:
```
printf("Sorted words:\n");
for (int i=0; i<5; i++) {
printf("%s\n", words[i]);
}
```
这样,我们就完成了使用选择排序和冒泡排序将5个英文单词按首字母从a到z的顺序排序输出的任务。希望这个回答对您有所帮助。
阅读全文