输入两个字符串s1和s2,然后将s2接在s1后面,输出连接后的字符串

不可以利用库函数strcat。不好意思。。。

输入字符串S1和S2以及插入位置n,在字符串S1中的指定位置n处插入字符串S2。例如,输入“jiangsu”、“123”和位置3,则输出“ji123angsu”

#include<iostream>

#include<string>

using namespace std;

int main()

{

string str1;

string str2;

int pos;

do

{

if((cin>>str1>>str2>>pos)&&(pos>=1))

{

str1.insert(pos-1,str2);

cout<<str1<<endl;

}

else

{

cout<<"Invalid Input"<<endl;

break;

}

}while(false);

return 0;

}

扩展资料:

while的用法:

当n==1时执行while循环结构里的语句,当n不等于1时,则跳过该循环执行循环体外的语句。

while循环的格式:while(表达式){语句;}

while循环的执行顺序:当表达式为真,则执行下面的语句,语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句,然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环

例:

int a=NULL;

while(a<10){

a++;//自加

if(a>5)//不等while退出循环,直接判断循环

{break;//跳出循环}

}

结果:结束后a的值为6。

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-06-17
#include<stdio.h>
#include<string.h>
char s1[1000]={0},s2[1000]={0};
int main()
{
int l1,l2,i;
scanf("%s%s",s1,s2);
l1=strlen(s1);
l2=strlen(s2);
for(i=0;i<l2;i++)
{
s1[l1+i]=s2[i];
}
printf("%s\n",s1);
return 0;
}

第2个回答  推荐于2017-06-17
#include <stdio.h>
#include <string.h>
void main() {
char s1[200], s2[100];
int i,s1_len,s2_len;
scanf("%s", s1);
scanf("%s", s2);
s1_len=strlen(s1);
s2_len=strlen(s2);
for(i=0;i<s2_len;i++)
s1[++s1_len]=s2[i];
s1[++s1_len]='\0';
printf("s1+s2=%s",s1);
}追问

为什么还不可以啊?要疯了

本回答被网友采纳
第3个回答  2011-12-02
#include <string.h>
#include <stdio.h>
void main() {
char s1[200], s2[200];
scanf("%s", s1);
scanf("%s", s2);
strcat(s1, s2);
printf(s1);
}本回答被提问者采纳
第4个回答  2011-12-02
pascal版
for i:=1 to length(s2) do
s1:=s1+s2[i];

输入两个字符串s1和s2,然后将s2接在s1后面,输出连接后的字符串,不可以...
char * b = "def";cout<<a<<endl;\/\/没连接前 char * d = myStrcat(a,b);cout<<d<<endl;\/\/连接b后 char * c = "gh";libStrcat(a,c);\/\/连接c后 cout<<d<<endl;} \/\/希望以后能多动手,多动脑,才能不断进步哦!

输入两个字符串s1和s2,然后将s2接在s1后面,输出连接后的字符串
include<string> using namespace std;int main(){ string str1;string str2;int pos;do { if((cin>>str1>>str2>>pos)&&(pos>=1)){ str1.insert(pos-1,str2);cout<<str1<<endl;} else { cout<<"Invalid Input"<<endl;break;} }while(false);return 0;} ...

编程序实现功能:从键盘上输入两个字符串s1和s2,将s2 的内容插入到s1内容...
\/*front赋值至des*\/ }int main(void) {char s1[LEN],s2[LEN];int pos;puts ("请输入s1:");

C语言:从键盘输入两个字符串s1与s2,并在s1串中的最大字符后边插s2
include "string.h"void main(void){ char s1[400]="",s2[400]="",mch;int i,j,k,sub;printf("Type a string...\\ns1=");gets(s1);printf("Type another...\\ns2=");gets(s2);for(mch=i=0;s1[i];i++)if(mch<s1[i]){ sub=i;mch=s1[i];} strcats2,s1+sub+1);s1[su...

从键盘输入两个字符串s1和s2,将字符串s1和s2连接成一个字符串,送入字符...
include<string.h> main(){ char str_1[500],str_2[500];int i,j;printf("Input a string s1:\\n");gets(str_1);printf("Input a string s2:\\n");gets(str_2);for(i=0;str_1[i]!='\\0';i++);for(j=0;str_2[j]!='\\0';j++)str_1[i+j]=str_2[j];str_1[i+j...

c语言从键盘输入两个字符串,将第二个字符串连接到第一个字符串的后面...
1、新建一个工程和.c文件 ,输入头文件和主函数。2、定义变量类型。3、调用cpy函数。4、定义一个函数,并定义变量类型。5、用一个For 语句和if语句判断是否为元音。6、最后加一个字符串结束符,并在主函数中输出。7、编译。运行得到最后结果。

输入两个字符串s1和s2,在s1指定的位置插入s2,试编程
include <string.h> int main( ){ char s1[81],s2[20];char *p1=s1,*p2=s2;int len1,len2,i,k;gets(p1);gets(p2);len1=strlen(p1),len2=strlen(p2);scanf("%d",&i);for(k=len1;k>=i;k--){ s1[k+len2]=s1[k];} for(k=0;k<len2;k++){ s1[i+k]=s2[k]...

C语言编写一个程序输入两个字符串1和字符串2(两个字符串长度不超过20...
说白了就是strcat char *strcat(char *strDest, const char *strSrc) \/\/将源字符串加const,表明其为输入参数 { char *address = strDest; \/\/该语句若放在assert之后,编译出错 assert((strDest != NULL) && (strSrc != NULL)); \/\/对源地址和目的地址加非0断言 while(*strDest) \/\/是...

帮忙改程序...输入两个字符串s1和s2,在s1中删除任何s2中有的字符。
首先,定义两个字符串s1和s2。随后,遍历字符串s1,逐个比较其字符与s2中的字符是否相等。当发现s1中的字符与s2中的某字符相等时,不立即删除s1中的该字符,而是继续遍历,直至s1的当前字符与s2的下一个字符不相等。此过程中,保持一个数组s3用于存储s1中未与s2中的字符匹配的字符。遍历完成后,s3中...

...有两个字符串s1和s2,编写程序判断s1是否是s2的子串,是的话输出s1...
看代码:include <stdio.h>#include <stdlib.h>#include <string.h>int is_sub_str(char* s1, char* s2){ int len1 = strlen(s1); int len2 = strlen(s2); if (len1 > len2) { return -1; } int i = 0, j = 0; \/\/ i 是 s1 的位置,j 是 s2 ...

相似回答