C语言:输入三个字符串,按由小到大的顺序输出
时间: 2024-12-08 19:18:49 浏览: 137
输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串, 按由小到大的顺序输出
在C语言中,如果你想按照字典序(即字母顺序)将三个字符串从小到大排序并输出,你可以先通过比较每个字符的ASCII值来实现这个功能。这里可以利用`strcmp()`函数来进行字符串比较。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[50], str2[50], str3[50];
// 输入三个字符串
printf("请输入第一个字符串: ");
fgets(str1, sizeof(str1), stdin);
str1[strlen(str1) - 1] = '\0'; // 去除换行符
printf("请输入第二个字符串: ");
fgets(str2, sizeof(str2), stdin);
str2[strlen(str2) - 1] = '\0';
printf("请输入第三个字符串: ");
fgets(str3, sizeof(str3), stdin);
str3[strlen(str3) - 1] = '\0';
// 比较并交换字符串
if(strcmp(str1, str2) > 0) { // 如果str1比str2大
if(strcmp(str1, str3) > 0) { // 如果str1也比str3大
printf("%s\n", str3); // 输出最小的str3
printf("%s\n", str2); // 然后输出str2
printf("%s\n", str1); // 最后输出最大的str1
} else { // 否则,str3是最小的
printf("%s\n", str3);
if(strcmp(str2, str1) > 0) { // 如果str2比str1大
printf("%s\n", str2);
printf("%s\n", str1);
} else {
printf("%s\n", str1);
printf("%s\n", str2);
}
}
} else { // 否则,str2或str3可能是最小的
if(strcmp(str2, str3) > 0) {
printf("%s\n", str1);
printf("%s\n", str3);
printf("%s\n", str2);
} else {
printf("%s\n", str1);
printf("%s\n", str2);
printf("%s\n", str3);
}
}
return 0;
}
```
阅读全文