编程,输入两个字符串 s1 和 s2 ,将它们合并为一个字符串,合并后的字符串按其 ASCII 码值从小到大进行排序并输出。C语言
时间: 2024-05-09 09:17:42 浏览: 89
c代码-C语言三个数从小到大排序/输出: 任意输入 3 个整数,编程实现对这 3 个整数由小到大进行排序。 冒泡排序的动画 https://haokan.baidu.com/v?vid=8080732080990475789&pd=bjh&fr=bjhauthor&type=video
可以使用字符串库函数 strcat 将两个字符串s1和s2合并为一个字符串s3,然后使用快速排序算法对s3中的字符按照ASCII码值从小到大进行排序,最后输出排序后的字符串s3。以下是示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void quick_sort(char* s, int left, int right) {
if (left < right) {
int i = left, j = right, mid = (left + right) / 2;
char temp = s[mid];
s[mid] = s[left];
s[left] = temp;
while (i < j) {
while (i < j && s[j] >= s[left]) j--;
while (i < j && s[i] <= s[left]) i++;
if (i < j) {
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
temp = s[left];
s[left] = s[i];
s[i] = temp;
quick_sort(s, left, i - 1);
quick_sort(s, i + 1, right);
}
}
int main() {
char s1[100], s2[100], s3[200];
printf("请输入字符串s1:");
scanf("%s", s1);
printf("请输入字符串s2:");
scanf("%s", s2);
strcat(s3, s1);
strcat(s3, s2);
quick_sort(s3, 0, strlen(s3) - 1);
printf("合并后的字符串按照ASCII码值从小到大排序为:%s\n", s3);
return 0;
}
```
输入样例:
```
请输入字符串s1:hello
请输入字符串s2:world
```
输出样例:
```
合并后的字符串按照ASCII码值从小到大排序为:dehllloorw
```
希望能帮到你。
阅读全文