📄 string1_upcase.cpp
字号:
#include "String1.h" //顺序串类
String1 upcase(String1 s1) //将串中的小写字母转换成大写
{
String1 s2; //空对象
int n=s1.length(); //获得串长度
for(int i=1;i<=n;i++)
{
char ch=s1.charAt(i); //取字符
if(ch>='a' && ch<='z') //小写字母
ch=ch-('a'-'A'); //转换成大写
String1 sch(ch); //以字符构造串对象
s2.concat(sch); //连接串对象
}
return s2; //返回串对象
}
bool symmetry1(String1 s1) //判断回文字符串,算法一
{
int i=1,n=s1.length();
bool yes=true;
while(yes && i<=n/2)
{
char ch1,ch2;
ch1=s1.charAt(i);
ch2=s1.charAt(n-i+1);
cout<<ch1<<"=="<<ch2<<"? ";
if(ch1==ch2)
i++;
else
yes=false;
}
cout<<endl;
return yes;
}
int symmetry2(String1 s1) //判断回文字符串,算法二
{
return s1==s1.reverse();
}
void main()
{
String1 s1("Begin");
s1.output();
upcase(s1).output();
String1 s2=upcase(s1); //=运算符没有重载时也能赋值
// s2=upcase(s1); //赋值运算符(=)重载之后才能赋值
s2.output();
String1 s3,s4;
s3="abc";
s4=s1;
cout<<"s3="<<s3<<endl;
cout<<"s4="<<s4<<endl;
cout<<"s3==abc "<<(s3=="abc")<<endl; //重载==
cout<<"s4==s3 "<<(s4==s3)<<endl;
String1 s5=s1+s3;
cout<<"s5=s1+s3="<<s5<<endl;
cout<<"s1="<<s1<<endl;
cout<<"s4.subString(3,2)="<<s4.subString(3,2)<<endl;
cout<<"s4.insert(3,s3)="<<s4.insert(3,s3)<<endl;
cout<<"s4.remove(3,1)="<<s4.remove(3,1)<<endl;
cout<<"s4.reverse()="<<s4.reverse()<<endl;
String1 s6("rotor");
cout<<"symmetry1(s6)="<<symmetry1(s6)<<endl;
cout<<"symmetry2(s6)="<<symmetry2(s6)<<endl;
String1 s7("abbabaabaa"),s8("aba"),s9("wxyz");
// String1 s7("aaaaaaaa"),s8("aab");
cout<<endl;
cout<<"s7="<<s7<<endl;
cout<<"s8="<<s8<<endl;
cout<<"s7.indexof(s8)="<<s7.indexof(s8)<<endl;
cout<<"s9="<<s9<<endl;
cout<<"s7.replace(s8,s9)="<<s7.replace(s8,s9)<<endl;
}
/*
程序设计运行结果如下:
s.len=5 s.table=Begin0
s.len=5 s.table=BEGIN0
s.len=5 s.table=BEGIN0
s3=abc
s4=Begin
s3==abc 0
s4==s3 -1
s5=s1+s3=Beginabc
s1=Begin
s4.subString(3,2)=gi
s4.insert(3,s3)=Beabcgin
s4.remove(3,1)=Bein
s4.reverse()=nigeB
r==r? o==o?
symmetry1(s6)=1
symmetry2(s6)=0
s7=abbabaabaa
s8=aba
i=0 j=0 a==a?
i=1 j=1 b==b?
i=2 j=2 b==a?
i=1 j=0 b==a?
i=2 j=0 b==a?
i=3 j=0 a==a?
i=4 j=1 b==b?
i=5 j=2 a==a?
s7.indexof(s8)=4
s9=wxyz
s7.replace(s8,s9)=abbwxyzwxyza
s7=aaaaaaaa
s8=aab
i=0 j=0 a==a?
i=1 j=1 a==a?
i=2 j=2 a==b?
i=1 j=0 a==a?
i=2 j=1 a==a?
i=3 j=2 a==b?
i=2 j=0 a==a?
i=3 j=1 a==a?
i=4 j=2 a==b?
i=3 j=0 a==a?
i=4 j=1 a==a?
i=5 j=2 a==b?
i=4 j=0 a==a?
i=5 j=1 a==a?
i=6 j=2 a==b?
i=5 j=0 a==a?
i=6 j=1 a==a?
i=7 j=2 a==b?
i=6 j=0 a==a?
i=7 j=1 a==a?
s7.indexof(s8)=0
cout<<strcmp("abc","abc")<<endl; //0
cout<<strcmp("abc","xyz")<<endl; //-1
cout<<strcmp("xyz","abc")<<endl; //1
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -