输入字符串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。
#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;
}
#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);
}
为什么还不可以啊?要疯了
#include <stdio.h>
void main() {
char s1[200], s2[200];
scanf("孙渣饥%s", s1);
scanf("梁李%s", s2);
strcat(s1, s2);
printf(s1);
}
for i:=1 to length(s2) do
s1:=s1+s2[i];