c语言将输入的两个字符串交织
时间: 2024-09-21 07:06:31 浏览: 34
C语言求两个字符串的最长公共子串
5星 · 资源好评率100%
在C语言中,我们可以使用循环结构和临时数组来实现两个字符串的交织。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void interleave(char *str1, char *str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
if (len1 > len2) {
char temp[len1 + len2];
strcpy(temp, str1);
for (int i = 0; i < len2; i++) {
temp[i*2+1] = str2[i];
}
// 将剩余的 str1 的字符复制到结果
for (int i = len2; i < len1; i++) {
temp[i*2 + 1] = str1[i];
}
printf("Interleaved string: %s\n", temp);
} else {
char temp[len1 + len2];
strcpy(temp, str2);
for (int i = 0; i < len1; i++) {
temp[i*2] = str1[i];
}
printf("Interleaved string: %s\n", temp);
}
}
int main() {
char str1[] = "Hello";
char str2[] = "World";
interleave(str1, str2);
return 0;
}
```
这个函数首先计算两个字符串的长度,然后创建一个新的临时数组。如果第一个字符串较长,就交替将两个字符串的字符放入临时数组;如果第二个字符串较长,则交换操作的位置。最后打印出交织后的字符串。
阅读全文