编程将两个字符串连接成一个字符串,并将连接后的字符串按升序排列c语言
时间: 2023-08-16 13:08:33 浏览: 101
下面是一个简单的示例代码,使用strcmp函数来比较字符串,并使用qsort函数来对字符串数组进行排序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int compare(const void *a, const void *b) {
return strcmp(*(const char **)a, *(const char **)b);
}
int main() {
char str1[100], str2[100], result[200];
printf("Enter first string: ");
fgets(str1, 100, stdin);
printf("Enter second string: ");
fgets(str2, 100, stdin);
str1[strcspn(str1, "\n")] = 0; // remove newline character
str2[strcspn(str2, "\n")] = 0; // remove newline character
sprintf(result, "%s%s", str1, str2);
int len = strlen(result);
char *arr[len];
for (int i = 0; i < len; i++) {
arr[i] = &result[i];
}
qsort(arr, len, sizeof(char *), compare);
printf("Sorted string: %s\n", result);
return 0;
}
```
在这个示例中,我们首先使用fgets函数从用户输入中获取两个字符串。然后我们使用sprintf函数将两个字符串连接成一个字符串,并将结果存储在result变量中。接下来,我们创建一个char指针数组arr,用于存储每个字符的地址。我们使用一个循环将result中每个字符的地址存储到数组中。最后,我们使用qsort函数对数组进行排序,并打印出排序后的结果。
阅读全文