#include #include void str_bin(char str1[], char str2[]) { int len1 = strlen(str1); int len2 = strlen(str2); char result[len1 + len2 + 1]; // 合并后的字符串 int i = 0, j = 0, k = 0; // 合并两个有序字符串 while (i < len1 && j < len2) { if (str1[i] < str2[j]) { result[k++] = str1[i++]; } else { result[k++] = str2[j++]; } } // 将剩余的字符复制到结果字符串 while (i < len1) { result[k++] = str1[i++]; } while (j < len2) { result[k++] = str2[j++]; } result[k] = '\0'; // 添加字符串结束符 // 将结果复制回str1 strcpy(str1, result); } int main() { char str1[201]; // 确保足够的空间存储合并后的结果 char str2[101]; scanf("%100s", str1); scanf("%100s", str2); // 调用合并函数 str_bin(str1, str2); // 输出合并后的有序字符串 printf("%s\n", str1); return 0; }