用c语言写程序,输入三个字符串,按从小到大的顺序输出
时间: 2024-03-30 17:11:18 浏览: 80
好的,这个问题很简单,下面是代码实现:
```
#include <stdio.h>
#include <string.h>
void swap(char *str1, char *str2) {
char temp[100];
strcpy(temp, str1);
strcpy(str1, str2);
strcpy(str2, temp);
}
int main() {
char str1[100], str2[100], str3[100];
printf("请输入三个字符串:\n");
scanf("%s %s %s", str1, str2, 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("三个字符串从小到大的顺序是:%s %s %s\n", str1, str2, str3);
return 0;
}
```
运行结果如下:
```
请输入三个字符串:
abc
def
ghi
三个字符串从小到大的顺序是:abc def ghi
```
相关问题
c语言题目描述 输入三个字符串,按由小到大的顺序输出 输入 3行字符串 输出 按照从小到大输出成3行 样例输入 cde afg abc 样例输出 abc afg cde
这道题可以使用字符串数组和strcmp函数来实现,具体的思路是先将三个字符串存储到一个字符串数组中,然后使用冒泡排序法对字符串数组进行排序,最后按照顺序输出排序后的字符串。下面是代码示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[3][100]; // 定义一个字符串数组,可以存储3个字符串,每个字符串的最大长度为100
char temp[100]; // 定义一个临时变量,用于交换字符串
// 输入三个字符串
for (int i = 0; i < 3; i++) {
scanf("%s", str[i]);
}
// 冒泡排序,按照字符串的大小进行排序
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2 - i; j++) {
if (strcmp(str[j], str[j+1]) > 0) {
// 如果前面的字符串比后面的字符串大,则交换两个字符串的位置
strcpy(temp, str[j]);
strcpy(str[j], str[j+1]);
strcpy(str[j+1], temp);
}
}
}
// 按照顺序输出排序后的字符串
for (int i = 0; i < 3; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
输入样例:
```
cde
afg
abc
```
输出样例:
```
abc
afg
cde
```
输入三个字符串,按从小到大顺序输使用c语言
在C语言中,如果你想将三个字符串按照字典序(即字母顺序)从小到大排序,你可以使用标准库函数`strcmp()`来比较字符串。下面是一个简单的示例程序,它定义了一个结构体存放字符串和相应的索引,并使用冒泡排序算法对它们进行排序:
```c
#include <stdio.h>
#include <string.h>
// 定义结构体来存储字符串及其索引
typedef struct {
char* str;
int index;
} StrWithIndex;
// 比较两个字符串并返回升序结果
int compare_strings(const void* a, const void* b) {
StrWithIndex* sa = (StrWithIndex*)a;
StrWithIndex* sb = (StrWithIndex*)b;
return strcmp(sa->str, sb->str);
}
void sort_strings(char** strings, int length) {
// 创建StrWithIndex数组
StrWithIndex arr[length];
for (int i = 0; i < length; i++) {
arr[i].str = strings[i];
arr[i].index = i;
}
// 使用冒泡排序
qsort(arr, length, sizeof(StrWithIndex), compare_strings);
// 输出排序后的字符串
for (int i = 0; i < length; i++) {
printf("%d. %s\n", arr[i].index, arr[i].str);
}
}
int main() {
char* str1 = "banana";
char* str2 = "apple";
char* str3 = "cherry";
sort_strings(&str1, 3);
return 0;
}
```
在这个例子中,`compare_strings` 函数用于比较字符串,`sort_strings` 函数则负责排序。注意,这个程序假设输入的字符串都是有效的。
阅读全文