编写函数void change(char *a,char *b,char*c)。 函数功能是, 将a指向的字符串和b指向的字符串按排列顺序连接一起,再将ab合并的字符串跟c交叉合并在一起。长的部分放在

本文介绍了一个特殊的字符串处理算法,该算法通过将两个输入字符串按顺序连接,并与第三个字符串进行交叉合并来生成新的字符串。文章提供了完整的C语言实现代码,包括字符串连接、排序及交叉合并的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编写函数void change(char *a,char b,charc)。 函数功能是,
将a指向的字符串和b指向的字符串按排列顺序连接一起,再将ab合并的字符串跟c交叉合并在一起。长的部分放在结尾。

#include <stdio.h>
#include <string.h>
#define M 50
void change(char *a,char b,charc);
int main()
{
char a[M],b[M],c[M];
printf(“Input string a :”);
gets(a);
printf(“Input string b:”);
gets(b);
printf(“Input string c:”);
gets©;
change(a,b,c);
return 0;
}
void change(char *a,char b,charc)
{
char *i,*j,*g,d,*h;
int p = 0;
char t[M];
i = a;
h = c;
while(*a!=’\0’)//将a和b的字符串连接起来。
{
a++;
}
for(j=b;*j!=’\0’;j++,a++)
{
*a = *j;
}
*a = ‘\0’;
for(j=i;*j!=’\0’;j++)
{
for(g=j+1;*g!=’\0’;g++)
{
if(*j>*g)
{
d =*j;
*j=*g;
*g=d;
}
}
}
printf("%s\n",i);//连接后的字符串
while(*h!=’\0’)//将a和c的字符串交叉合并
{
t[p] = *i;
t[p+1] = *h;
p = p+2;
i++;
h++;
}
while(*i!=’\0’)
{
t[p] = *i;
i = i+1;
p++;
}
t[p] = ‘\0’;//给t结尾加个’\0’,不然不是字符串,而是字符数组。
printf("%s",t);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值