编程合并两个不同字符串。如输入:abc 123 .合并后输出:a1b2c3

作者&投稿:壤庄 (若有异议请与网页底部的电邮联系)
用C语言编程,将两个字符串交叉合并,如将“123”与“abcde”合并为“1a2b3cde"~

#include
#include
//字符串长度
int GetLength(char *str)
{
int i=0;
while(str[i]!='\0')
i++;
return i;
}
//合并字符串
char* Merge(char* first, char* second)
{
int firstLength=GetLength(first);
int secondLength=GetLength(second);

char *result=(char*)malloc(firstLength+secondLength+1);

if(firstLength<=secondLength)
{
int i=0;
for(i=0;i<firstLength;i++)
{
result[i*2]=first[i];
}
for(i=0;i<secondLength;i++)
{
if(i<firstLength)
result[i*2+1]=second[i];
else
result[firstLength*2+i-firstLength]=second[i];
}
}
else
{
int i=0;
for(i=0;i<secondLength;i++)
{
result[i*2+1]=second[i];
}
for(i=0;i<firstLength;i++)
{
if(i<secondLength)
result[i*2]=first[i];
else
result[secondLength*2-1+i-secondLength]=first[i];
}
}
result[firstLength+secondLength]='\0';
return result;
}
//主函数
int main()
{
char* first=(char*)malloc(sizeof(char)*100);
char* second=(char*)malloc(sizeof(char)*100);

printf("please input the first string:");
scanf("%s",first);

printf("please input the second string:");
scanf("%s",second);
getchar();//接收回车

printf("%s",Merge(first,second));
free(first);
free(second);
getchar();//暂停
}

123是高八位,abc是低八位,则
i=123;
j=abc;
k=i*256+j; //合并为16位

下面程序 考虑了 2个字符串长度 相等 和 不等。
char s1[20],s2[20],s[40];
int i,n1,n2,n=0;
scanf("%s %s",s1,s2);
n1=strlen(s1); n2=strlen(s2);
if (n1<n2){
for (i=0;i<n1;i++) {s[n++]=s1[i]; s[n++]=s2[i];};
for (i=n1;i<n2;i++) s[n++]=s2[i]; s[n]='\0';
} else if (n1 > n2) {
for (i=0;i<n2;i++) {s[n++]=s1[i]; s[n++]=s2[i];};
for (i=n2;i<n1;i++) s[n++]=s1[i]; s[n]='\0';
} else {
for (i=0;i<n2;i++) {s[n++]=s1[i]; s[n++]=s2[i];}; s[n]='\0';
}
printf("%s",s);


编程合并两个不同字符串。如输入:abc 123 .合并后输出:a1b2c3_百度...
下面程序 考虑了 2个字符串长度 相等 和 不等。char s1[20],s2[20],s[40];int i,n1,n2,n=0;scanf("%s %s",s1,s2);n1=strlen(s1); n2=strlen(s2);if (n1<n2){ for (i=0;i<n1;i++) {s[n++]=s1[i]; s[n++]=s2[i];};for (i=n1;i<n2;i++) s[n++]=s2[...

如何合并不同字符串?
Office365 及以上版本可用;不提供分隔符功能;如果结果字符串超过 32767 个字符(单元格限制),返回 #VALUE!错误。12 五、TEXTJOIN 函数法 13 将 A2:B2 和 D2:E2 两个单元格区域的字符串合并,结果放在 C2 单元格,各字符串中间用空格分开,并且忽略空单元格。语法 TEXTJOIN(分隔符,是否忽略空白...

编写程序将两个字符串连成一个新的字符串?
Java 程序中连接两个字符串最简单的是通过连接符 “+”,比如: String str = "123" + "456";也可以使用 StringBuilder 来拼接字符串,比如:先创建一个 StringBuilder , StringBuilder sb = new StringBuilder();然后使用 append 方法连接, sb.append("123").append("456");最后通过 toString ...

C++知识:编写程序将两个按照字母顺序排列的任意字符串进行合并...
\/*C++知识:编写程序将两个按照字母顺序排列的任意字符串进行合并,合并后的字符串依然按照字母顺序排列,如achk和bfg合并后应为abcfghk。 *\/#include <fstream>#include <iostream>using namespace std;int gl(char*c){int i=1;while(c[i-1]!=0)i++;return i-1;}char *ht(char c[2][5] ){ int n...

编写一个程序,将两个字符串连接起来,并输出(不要使用strcat函数)。用C...
void main(){ char s1[80],s2[40];int i=0,j=0;printf("\\ninput stringl:");scanf("%s",s1);printf("input string2:");scanf("%s",s2);while(s1[i]!='\\0')i++;while(s2[j]!='\\0')s1[i++]=s2[j++];s1[i]='\\0';printf("The new string is:%s\\n",s1);} ...

编写程序,设计函数,实现把两个输入的字符串交叉合并,合并时,把小写字母...
int main(){ char s1[1000],s2[1000],s[2000],*p1=s1,*p2=s2,*p=s;gets(s1);gets(s2);while(*p1&&*p2){*p++=*p1++;p++=*p2++;} while(*p1)*p++=*p1++;while(*p2)*p++=*p2++;p='\\0';for(p=s;*p;p++)if(*p>='a'&&*p<='z')*p-=32;printf("%s\\n",s);ret...

将两个无序字符串串成一个
方法有好几种,但是都编出来比较麻烦,我直接说说思路吧:第(1)种可以把两个无序字符串先合并成一个字符串,再排序。第二种是把两个字符串分别排成有序的,然后把其中一个按递增顺序逐个添加到另一个里面,就ok了。是不是一定要源代码?今天也没时间了 ...

C语言问题 编写一程序将两个字符串连起来
include <stdio.h>#include <string.h>int main (){ char str1[10],str2[5],*p,i;\/\/这里用str1接收拼接后的字符串,确保str1大小够放!! 注意要留1位保存结束符'\\0' strcpy(str1,"abcd");strcpy(str2,"efgh"); printf("原字符串分别为:%s %s\\n\\n",str1,str2);...

用C语言编程,将两个字符串交叉合并,如将“123”与“abcde”合并为“1a...
\/\/合并字符串 char* Merge(char* first, char* second){ int firstLength=GetLength(first);int secondLength=GetLength(second);char *result=(char*)malloc(firstLength+secondLength+1);if(firstLength<=secondLength){ int i=0;for(i=0;i<firstLength;i++){ result[i*2]=first[i];} fo...

C语言里如何将多个字符串数据合成一个数据?
主要有两种方法,一个是字符串连接操作strcat,另一个是格式化输出sprintf,主要代码如下,\/\/程序功能实现字符串合并 include <stdio.h> include <string.h> int main(int argc, char *argv[]){ char name1[32]="456",name2[32]="123",name3[32]="789";char NAME1[256]={'\\0'},NAME2...

萝岗区15748988553: C语言编程:编一程序,将两个字符串联接起来,不要用Strcat函数. -
解哗艾本: 思路:输入两个字符串a和b,首先找到第一个字符串a的结束位置,接着把b的所有元素放到a的末尾,最后加上结束标志. 参考代码: #include<stdio.h> void mystrcat(char a[],char b[]){int i=0,j=0;while(a[i++]!='\0');//找到a的结束位置i--;...

萝岗区15748988553: C语言怎么合并两个字符串? -
解哗艾本: 先加头文件#include<string.h> char a[10]="123";char b[10]="abc";strcat(a,b); //连接两个字符串,连接后的字符串存放在a中,数组a中有足够空间printf("%s",a); //输出连接后的字符串或: #include<string.h> char a[10]="123"; char b[10]="abc"; char c[20]; strcpy(c,a); //把串a复制到有足够空间的c中 strcat(c,b); //把b连接到c的串尾

萝岗区15748988553: 编写程序,将两个字符串连接起来 -
解哗艾本: main() { char a[100]; char b[30]; //为什么是100 30 呢 -> 可以根据需要改变长度,但a数组长度最好大于b数组长度,因为a数组要存放连接后的字符串int i,j; gets(a); gets(b);for(j=0,i=strlen(a);b[j]!='\0';i++,j++) //解释 这是什么意思呢?-> 因为要把...

萝岗区15748988553: 从键盘上输入两个字符串并合并成一个字符串中c语言 -
解哗艾本: #include"stdio.h"#include"string.h" void main() { char a[100],b[100]; int i,n,m,k; printf("请输入第一个字符串(a):"); gets(a); n=strlen(a); printf("在输入要插入的字符串(b):"); gets(b); m=strlen(b); printf("请输入要插入的位置(k...

萝岗区15748988553: C语言编程:输入一个字符串,且其中包含2个“a”,将第一个之前与第二个“a”之后的字符连成一个字符串输出!
解哗艾本: 做个记号 #include<stdio.h> #include<string.h> void main() { char a[50],b[50],c[50]; int i=0,j=0,k1=0,k2=0; printf("Please input a string:"); scanf("%s",a); printf("原始字符串:%s\n",a); for(i=0;a[i]!='\0';i++)/*找出那两个'a'的位置*/ { if(a[i]=='...

萝岗区15748988553: /*输入一个字符串,且其中包含有两个字母"a",?? -
解哗艾本: Private Sub Command1_Click() Dim a, b, c As String Dim a1, b1, c1 As StringDim i, j As Integera = "fhgakl123arty45"'例如此字符串进行处理i = InStr(a, "a") a1 = Mid(a, 1, i - 1) b = Mid(a, i + 1, Len(a) - i) j = InStr(b, "a") c = Mid(b, j + 1, ...

萝岗区15748988553: c编程将这两个字符串进行合并操作,生成一个新的字符串
解哗艾本: int a(char *c, char *d) { int b[128] = {0}; int i; for ( i = 0; i &lt; strlen(c); i++) { if( b[c[i]] == 0) b[c[i]] += 1; else break; } for ( i = 0; i &lt; strlen(d); i++) { if( b[d[i]] == 0) b[d[i]] += 1; else break; } for( i = 0; i &lt; 128; i++) { if( b[i] &gt; 0) printf("%d ", b[i]); } return; }

萝岗区15748988553: 急求!!输入一串字符串,且其中含有两个字母a,编写程序...... 详细问题见问题补充!!! -
解哗艾本: #include<stdio.h> int main(void) { char s[100],s1[100],s2[100]; int i=0,j=0,k=0; gets(s); for(i=0;s[i];i++) { if(s[i]=='a') { while(s[++i]!='a') s2[j++]=s[i]; s2[j]='\0'; i++; } s1[k++]=s[i]; } s1[k]='\0'; printf("%s\n%s\n",s1,s2); return 0; }

萝岗区15748988553: 合并字符串的编程
解哗艾本: #include<stdio.h> void main() { char a[100],b[100],e[100]; int i=0,j=0,h=0; gets(a); gets(b); while((a[i]!='\0')&&(b[j]!='\0')) e[h++]=a[i]<b[j]?a[i++]:b[j++]; if(a[i]=='\0') for(;j<50;j++,h++) e[h]=b[j]; if(b[j]=='\0') for(;i<50;i++,h++) e[h]=a[i]; printf("%s\n",e); }

萝岗区15748988553: C语言 合并字符串 -
解哗艾本: 1 2 3 4 5 6 7 8 9 10 11 12#include<iostream>; #include<cstring> usingnamespacestd; intmain() {chara[100],b[100],c[100];gets(a);gets(b); cout<<strcat(a,b)<<endl;return0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网