在C语言中,合并字符串并排序的一种方法是使用字符串数组和排序算法(例如冒泡排序、插入排序等)。以下是一个示例代码:
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100], merged[200];
int i, j, k, len1, len2;
printf("Enter the first string: ");
gets(str1);
printf("Enter the second string: ");
gets(str2);
len1 = strlen(str1);
len2 = strlen(str2);
// 合并字符串
for (i = 0; i < len1; i++) {
merged[i] = str1[i];
}
for (j = 0; j < len2; j++) {
merged[i++] = str2[j];
}
merged[i] = '\0';
// 使用冒泡排序对合并后的字符串进行排序
for (i = 0; i < strlen(merged) - 1; i++) {
for (j = 0; j < strlen(merged) - i - 1; j++) {
if (merged[j] > merged[j + 1]) {
// 交换字符位置
char temp = merged[j];
merged[j] = merged[j + 1];
merged[j + 1] = temp;
}
}
}
printf("Merged and sorted string: %s", merged);
return 0;
}
这个程序首先让用户输入两个字符串,然后使用strlen
函数获取字符串的长度。接下来,通过两个循环将两个字符串合并到一个字符串数组中。最后,使用冒泡排序算法对合并后的字符串数组进行排序,并打印出最终排序后的字符串。