题目描述: 编写函数将两个升序排列的字符串(串长<81)融合成一个字符串,融合后的字符串仍然是升序排列的。 输入描述: 输入两升序字符串 输出描述: 融合后的字符串 (含回车符) 样式输入: acefi bdfg 样式输出: abcdeffgi
#include<stdio.h>
#include<string.h>
int main()
{
char a[80], b[80]; // 定义两个字符数组a和b,用于存储输入的字符串
scanf("%s%s", a, b); // 从标准输入读取两个字符串,分别存储在a和b中
int n;
n = strlen(strcat(a, b)); // 将a和b拼接成一个新的字符串,并计算其长度
int i, j, k = 0; // 定义三个整型变量i、j和k,其中k用于交换字符时暂存数据
for (i = 0; i < n; i++) { // 遍历字符串中的每个字符
for (j = i + 1; j < n; j++) { // 从当前字符的下一个字符开始遍历
if (a[i] > a[j]) { // 如果当前字符大于后面的字符
k = a[i]; // 将当前字符的值赋给k
a[i] = a[j]; // 将后面的字符的值赋给当前字符
a[j] = k; // 将k的值赋给后面的字符
}
}
}
printf("%s", a); // 输出排序后的字符串
return 0;
}