用c语言按照要求编写程序,要求:从键盘输入10个国家名字,按从小到大输出
时间: 2024-05-12 07:13:13 浏览: 86
编写程序实现以下功能:从键盘输入十个整数,用冒泡法排序后按从小到大输出
以下是使用冒泡排序算法实现的C语言程序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 20 // 国家名字最大长度
int main() {
char countries[10][MAX_LENGTH]; // 存储国家名字的二维数组
int i, j;
char temp[MAX_LENGTH]; // 用于交换字符串的临时变量
// 从键盘输入10个国家名字
printf("请输入10个国家名字:\n");
for (i = 0; i < 10; i++) {
scanf("%s", countries[i]);
}
// 冒泡排序算法,按从小到大输出国家名字
for (i = 0; i < 9; i++) { // 外层循环控制比较轮数
for (j = 0; j < 9 - i; 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 (i = 0; i < 10; i++) {
printf("%s\n", countries[i]);
}
return 0;
}
```
程序运行后,会要求用户输入10个国家名字,然后按从小到大输出排序后的国家名字。其中使用了字符串比较函数`strcmp()`和字符串复制函数`strcpy()`,需要在头文件`<string.h>`中声明。
阅读全文