如何用C语言程序接收用户输入五个国家名称,然后按字母顺序进行排序并输出?
时间: 2025-01-27 21:14:25 浏览: 42
要在C语言中接收用户输入五个国家名称,并按字母顺序进行排序并输出,可以使用数组和排序算法来实现。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#define NUM_COUNTRIES 5
#define MAX_LENGTH 100
void sortStrings(char arr[][MAX_LENGTH], int n) {
char temp[MAX_LENGTH];
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (strcmp(arr[i], arr[j]) > 0) {
strcpy(temp, arr[i]);
strcpy(arr[i], arr[j]);
strcpy(arr[j], temp);
}
}
}
}
int main() {
char countries[NUM_COUNTRIES][MAX_LENGTH];
printf("请输入五个国家名称:\n");
for (int i = 0; i < NUM_COUNTRIES; i++) {
printf("国家 %d: ", i + 1);
fgets(countries[i], MAX_LENGTH, stdin);
// 去除换行符
countries[i][strcspn(countries[i], "\n")] = '\0';
}
sortStrings(countries, NUM_COUNTRIES);
printf("\n按字母顺序排序后的国家名称:\n");
for (int i = 0; i < NUM_COUNTRIES; i++) {
printf("%s\n", countries[i]);
}
return 0;
}
```
这个程序的工作原理如下:
1. 定义一个二维字符数组 `countries` 来存储五个国家名称。
2. 使用 `fgets` 函数接收用户输入的国家名称,并去除换行符。
3. 定义一个 `sortStrings` 函数,使用冒泡排序算法对国家名称进行排序。排序时使用 `strcmp` 函数比较字符串大小。
4. 最后,输出排序后的国家名称。
阅读全文
相关推荐


















