⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 string1_upcase.cpp

📁 是一本教程的实例代码,可以下载后直接运行,即可以得到答案.
💻 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 + -