c语言输入3个字符串,按由小到大的顺序输出
时间: 2023-10-31 13:11:49 浏览: 39
好的,这个问题很简单。你可以使用字符串数组和 strcmp 函数进行比较排序,具体代码如下:
```c
#include <stdio.h>
#include <string.h>
void sortStrings(char arr[][100], int n) {
char temp[100];
int i, j;
for(i=0; i<n-1; i++) {
for(j=i+1; j<n; j++) {
if(strcmp(arr[i], arr[j]) > 0) {
strcpy(temp, arr[i]);
strcpy(arr[i], arr[j]);
strcpy(arr[j], temp);
}
}
}
}
int main() {
char str[3][100];
int i;
printf("请输入三个字符串:\n");
for(i=0; i<3; i++) {
scanf("%s", str[i]);
}
sortStrings(str, 3);
printf("按照由小到大的顺序输出如下:\n");
for(i=0; i<3; i++) {
printf("%s\n", str[i]);
}
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;
}
当然,也可以使用更高级的排序算法,如快速排序、归并排序等。