输入三个个字符串,按从小到大的顺序输出
时间: 2024-12-23 19:23:08 浏览: 0
python任意输入三个数,按大小输出.py
5星 · 资源好评率100%
要按照字典序(即字母顺序)对三个字符串进行排序并输出,你可以使用`strcmp`函数比较它们,然后用循环和临时变量交换来进行排序。这里是一个简单的示例:
```c
#include <stdio0.h>
#include <string.h>
// 比较两个字符串并根据结果返回值 (-1, 0, 1)
int compare_strings(const char* str1, const char* str2) {
return strcmp(str1, str2);
}
int main() {
char str1[50], str2[50], str3[50];
printf("请输入第一个字符串: ");
fgets(str1, sizeof(str1), stdin); // 去除换行符
str1[strcspn(str1, "\n")] = '\0'; // 只保留字符串
printf("请输入第二个字符串: ");
fgets(str2, sizeof(str2), stdin);
str2[strcspn(str2, "\n")] = '\0';
printf("请输入第三个字符串: ");
fgets(str3, sizeof(str3), stdin);
str3[strcspn(str3, "\n")] = '\0';
// 按照字典序排序
if (compare_strings(str1, str2) < 0) {
// 如果str1小于str2,交换它们
char temp[50];
strcpy(temp, str1);
strcpy(str1, str2);
strcpy(str2, temp);
}
if (compare_strings(str1, str3) < 0) {
// 同理,如果str1小于str3,交换它们
char temp[50];
strcpy(temp, str1);
strcpy(str1, str3);
strcpy(str3, temp);
}
// 已经有了最小的两个字符串,现在比较剩下的两个
if (compare_strings(str2, str3) < 0) {
char temp[50];
strcpy(temp, str2);
strcpy(str2, str3);
strcpy(str3, temp);
}
printf("排序后的字符串: \n");
printf("%s\n", str1);
printf("%s\n", str2);
printf("%s\n", str3);
return 0;
}
```
阅读全文