#include<bits/stdc++.h>
using namespace std;
int main()
{
//四种初始化
string str1;//为空
string str2("word");//word
string str3(9,'a');//9个"a"
string str4(str1);//为空
//输入
cin>>str1;//遇到空格,换行停止
cout<<str1<<endl;
getline(cin,str4);//遇到换行停止,包含空格
cout<<str4<<endl;
//大小写转换
for(int i=0;i<=3;i++)
if(str2[i]>='a' && str2[i]<='z')
str2[i]-=('a'-'A');
cout<<str2<<endl;
//常用操作
//s.empty() s为空,true; 不空,false
//s.size() 字符个数
//s[i]
//s3=s1+s2 s3为s1,s2相连
//s1==s2 判等
//! = < <= > >=
string s,s2;
int pos,n;
//s.insert(pos,s2)
cin>>s>>s2>>pos;//0123456789 xhc 3
s.insert(pos,s2);
cout<<s<<endl;//012xhc3456789
//s.substr(pos,n)
cin>>s>>pos>>n;//0123456789 3 5
cout<<s.substr(pos,n)<<endl;//34567
//s.erase(pos,n);
s.erase(pos,n);
cout<<s<<endl;//012389
//s.replace(pos,n,s2)==s.erase(pos,n)+s.insert(pos.s2)
//s(0123456789) pos(3) n(5) s2(xhc) 输出(012xhc389)
//s.find(s2,pos)
//s.find(s2)
//s.rfind(s2)
cin>>s>>s2>>pos;//xhckkkxhckkkxhc xhc 5
cout<<s.find(s2,pos)<<" "<<s.find(s2)<<" "<<s.rfind(s2);//6 0 12
//find找不到时返回-1,最好写成string::npos
//sscanf(s,"%d",&n); 字符s-->数字n
//sprintf(s,"%d",n); 数字n-->字符s
//比较与排序
//一个一个向后比 如 aaabb>aaaba>aaaaa>aaaa>aaa>aa>a
//可以sort
return 0;
}