输入三个字符串按从小到大的顺序排列要求用函数和指针实现
时间: 2023-12-10 20:38:18 浏览: 221
可以使用strcmp()函数比较字符串的大小关系,使用指针数组来存储这三个字符串,然后对指针数组进行排序。
以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void sort_strings(char *arr[], int n);
int main() {
char str1[100], str2[100], str3[100];
char *arr[3];
printf("请输入三个字符串:\n");
scanf("%s %s %s", str1, str2, str3);
arr[0] = str1;
arr[1] = str2;
arr[2] = str3;
sort_strings(arr, 3);
printf("排序后的结果为:\n");
printf("%s\n%s\n%s\n", arr[0], arr[1], arr[2]);
return 0;
}
void sort_strings(char *arr[], int n) {
int i, j;
char *temp;
for (i = 0; i < n-1; i++) {
for (j = i+1; j < n; j++) {
if (strcmp(arr[i], arr[j]) > 0) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
```
注意,为了使用指针数组,我们需要将输入的三个字符串的地址存储在指针数组中。在sort_strings()函数中,我们使用嵌套的for循环来比较字符串的大小关系,并交换指针数组中的元素。最终输出指针数组中的三个字符串即可。
阅读全文