用c语言:把输入的5个国家的名字按字母的升序输出 China Japan Korea American England
时间: 2023-06-09 12:03:39 浏览: 199
好的,以下是用C语言实现将5个国家名按字母升序输出的代码:
```c
#include <stdio.h>
#include <string.h>
#define NUM_COUNTRIES 5
#define MAX_NAME_LENGTH 20
int main() {
char countries[NUM_COUNTRIES][MAX_NAME_LENGTH]; // 存储国家名字的二维字符数组
char temp[MAX_NAME_LENGTH]; // 用于交换国家名字的临时变量
// 输入5个国家的名字
printf("请输入5个国家的名字(每个名字不超过%d个字符):\n", MAX_NAME_LENGTH);
for (int i = 0; i < NUM_COUNTRIES; i++) {
printf("请输入第%d个国家的名字:", i + 1);
scanf("%s", countries[i]);
}
// 冒泡排序,将5个国家的名字按字母升序排列
for (int i = 0; i < NUM_COUNTRIES - 1; i++) {
for (int j = 0; j < NUM_COUNTRIES - i - 1; j++) {
if (strcmp(countries[j], countries[j+1]) > 0) {
strcpy(temp, countries[j]);
strcpy(countries[j], countries[j+1]);
strcpy(countries[j+1], temp);
}
}
}
// 输出排序后的国家名字
printf("按字母升序排列的五个国家名字为:\n");
for (int i = 0; i < NUM_COUNTRIES; i++) {
printf("%s ", countries[i]);
}
printf("\n");
return 0;
}
```
这段代码使用了冒泡排序算法,将5个国家的名字按字母升序排列后输出。注意,使用`scanf("%s", countries[i])`函数时,需要保证每个国家名字不超过`MAX_NAME_LENGTH`个字符,否则会导致数组越界错误。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)