C语言输入3个字符串,按由小到大输出
时间: 2024-01-02 15:23:09 浏览: 32
以下是一个C语言的例子,用于输入3个字符串,并按照由小到大的顺序输出:
```c
#include <stdio.h>
#include <string.h>
void swap(char *p1, char *p2){
char p[32];
strcpy(p, p1);
strcpy(p1, p2);
strcpy(p2, p);
}
int main(){
char str1[32], str2[32], str3[32];
printf("请输入三个字符串:\n");
gets(str1);
gets(str2);
gets(str3);
if(strcmp(str1, str2) > 0)
swap(str1, str2);
if(strcmp(str1, str3) > 0)
swap(str1, str3);
if(strcmp(str2, str3) > 0)
swap(str2, str3);
printf("由小到大输出字符串:\n");
printf("%s\n%s\n%s", str1, str2, str3);
return 0;
}
```
相关问题
c语言输入三个字符串,按由小到大的顺序输出
可以使用strcmp函数来比较字符串的大小关系,并使用数组来存储输入的三个字符串。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[3][MAX_LEN];
char temp[MAX_LEN];
// 输入三个字符串
for (int i = 0; i < 3; i++) {
printf("请输入第%d个字符串:", i + 1);
scanf("%s", str[i]);
}
// 排序
for (int i = 0; i < 2; i++) {
for (int j = i + 1; j < 3; j++) {
if (strcmp(str[i], str[j]) > 0) {
strcpy(temp, str[i]);
strcpy(str[i], str[j]);
strcpy(str[j], temp);
}
}
}
// 输出排序后的字符串
printf("按照由小到大的顺序输出:\n");
for (int i = 0; i < 3; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
运行示例:
```
请输入第1个字符串:orange
请输入第2个字符串:apple
请输入第3个字符串:banana
按照由小到大的顺序输出:
apple
banana
orange
```
C语言输入三个字符串,按由小到大的顺序输出
可以使用strcmp函数进行字符串比较,然后使用冒泡排序将三个字符串按由小到大的顺序排好序,最后输出即可。以下是一个示例代码:
#include <stdio.h>
#include <string.h>
int main()
{
char str1[100], str2[100], str3[100], temp[100];
printf("请输入三个字符串:\n");
scanf("%s %s %s", str1, str2, str3);
// 冒泡排序
if(strcmp(str1, str2) > 0)
{
strcpy(temp, str1);
strcpy(str1, str2);
strcpy(str2, temp);
}
if(strcmp(str1, str3) > 0)
{
strcpy(temp, str1);
strcpy(str1, str3);
strcpy(str3, temp);
}
if(strcmp(str2, str3) > 0)
{
strcpy(temp, str2);
strcpy(str2, str3);
strcpy(str3, temp);
}
// 输出结果
printf("按由小到大的顺序输出:\n");
printf("%s\n%s\n%s\n", str1, str2, str3);
return 0;
}
当然,也可以使用更高级的排序算法,如快速排序、归并排序等。