题头的话:长按点赞可私我赠送50+本C与C++书籍电子书资源
合并字符串
【问题描述】
编写一个函数void str_bin(char str1[ ], char str2[ ]),其中str1、str2是两个有序字符串(字符已按ASCII码值从小到大排序),将str2合并到str1中,要求合并后的字符串仍是有序的,并且允许字符重复。main主函数功能:输入两个有序字符串,调用str_bin子函数完成字符串合并,并输出合并后的结果。
【输入形式】
输入两个有序字符串(不超过100个字符)。
【输出形式】
输出合并后的有序字符串。
【样例输入】
aceg
bdfh
【样例输出】
abcdefgh
【样例说明】
输入两个有序字符串"aceg"和"bdfh",输出合并后的有序字符串"abcdefgh"。
输出结束不换行。
#include<stdio.h>
#include<string.h>
void str_bin(char a[], char b[]) {
strcat(a, b);
int n = strlen(a), i, j, temp;
for (i = 0; i < n; i++) {
for (j = i; j < n; j++) {
if (a[i] > a[j]) {
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
for (i = 0; i < n; i++) {
printf("%c", a[i]);
}
}
int main() {
char a[100], b[100];
gets_s(a); gets_s(b);
str_bin(a, b);
return 0;
}