用c语言编程输入五个英文姓名单词,输出按升序排列好的; 例如: 输入:barton daniel laura clark bard 输出:bard barton clark daniel laura
时间: 2024-02-21 09:58:52 浏览: 191
c代码-从键盘任意输入五个学生的姓名,编程找出并输出按字典顺序排在最前面的学生姓名。
好的,以下是使用C语言编写的程序,可以实现您的需求:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LENGTH 20 // 定义姓名的最大长度
void sort_names(char names[][MAX_NAME_LENGTH], int count); // 声明排序函数
int main() {
char names[5][MAX_NAME_LENGTH]; // 存储姓名的二维字符数组
int i;
// 输入五个英文姓名单词
printf("请输入五个英文姓名单词:\n");
for (i = 0; i < 5; i++) {
scanf("%s", names[i]);
}
// 调用排序函数
sort_names(names, 5);
// 输出排序后的结果
printf("按升序排列好的姓名单词为:\n");
for (i = 0; i < 5; i++) {
printf("%s ", names[i]);
}
printf("\n");
return 0;
}
// 排序函数实现
void sort_names(char names[][MAX_NAME_LENGTH], int count) {
int i, j;
char temp[MAX_NAME_LENGTH];
for (i = 0; i < count - 1; i++) {
for (j = i + 1; j < count; j++) {
if (strcmp(names[i], names[j]) > 0) {
strcpy(temp, names[i]);
strcpy(names[i], names[j]);
strcpy(names[j], temp);
}
}
}
}
```
程序中使用了`strcmp()`函数来比较两个字符串的大小,使用了`strcpy()`函数来进行字符串的复制。运行程序后,您可以输入五个英文姓名单词,程序将按照升序排列并输出结果。
阅读全文