为了账号安全,请及时绑定邮箱和手机立即绑定

求大神帮忙看一下这个c++程序 新手刚学 为什么会崩溃

求大神帮忙看一下这个c++程序 新手刚学 为什么会崩溃

C++
ymy9 2016-03-17 19:43:15
#include<iostream>#include<string>using namespace std;string  padLeft(string s, int n){    string t;    int m=s.length();    int k=0;    if(m>n)    {        return s;    }    else    {        for(int i=0;i<n;i++)        {            if(i<(n-m))            {                t[i]=char(32);            }            else            {                t[i]=s[k++];            }        }        return t;    }}string padLeft(string s,int n,char a){    string t;    int m=s.length();    int k=0;    if(m>n)    {        return s;    }    else    {        for(int i=0;i<n;i++)        {            if(i<(n-m))            {                t[i]=a;            }            else            {                t[i]=s[k++];            }        }        return t;    }}string padRight(string s, int n){    string t;    int m=s.length();    if(m>n)    {        return s;    }    else    {        for(int i=0;i<n;i++)        {            if(i<m)            {                t[i]=s[i];            }            else            {                t[i]=' ';            }        }        return t;    }}string padRight(string s, int n,char a){    string t;    int m=s.length();    if(m>n)    {        return s;    }    else    {        for(int i=0;i<n;i++)        {            if(i<m)            {                t[i]=s[i];            }            else            {                t[i]=a;            }        }        return t;    }}string cpy(string s){    string t;    int m=s.length();    for(int i=0;i<m;i++)    {        t[i]=s[i];    }    return t;}string cpy(string s,int n){    string t;    int m=s.length();    if(n<0||n>=m)    {        return t;    }    else    {        for(int i=n;i<m;i++)        {            t[i]=s[n++];        }        return t;    }}string cpy(string s,int m,int n){    string t;    int l=s.length();    if((m<0||m>=l)||(n<0||n>=l)||(m>n))    {        return t;    }    else if(m==n)    {        t[0]=s[m];        return t;    }    else    {        for(int i=m,j=0;i<m+n;i++,j++)        {            t[j]=s[i];        }        return t;    }}string remove(string s,char a){    string t;    int m=s.length();    int j=0;    for(int i=0;i<m;i++)    {        if(s[i]!=a)        {            t[j++]=s[i];        }    }    return t;}string remove(string s,int n){    string t;    int m=s.length();    int j=0;    if(n<0||n>=m)    {        return t;    }    else    {        for(int i=0;i<m;i++)        {            if(i!=n)            {                t[j++]=s[i];            }        }        return t;    }}string remove(string s,int m,int n){    string t;    int l=s.length();    int j=0;    if((m<0||m>=l)||(n<0||n>=l)||(m>n))    {        return t;    }    else    {        for(int i=0;i<l;i++)        {            if(i<m||i>n)            {                t[j++]=s[i];            }        }        return t;    }}int main(){    int num, length, index, startIndex, endIndex;    char padding, delChar;    string src, dest;    while(cin >> num)    {        switch(num)        {        case 11:        cin >> src >> length;        cout << padLeft(src, length) << endl;        break;        case 12:        cin >> src >> length >> padding;        cout << padLeft(src, length, padding) << endl;        break;        case 21:        cin >> src >> length;        cout << padRight(src, length) << endl;        break;        case 22:        cin >> src >> length >> padding;        cout << padRight(src, length, padding) << endl;        break;        case 31:        cin >> src;        cout << cpy(src) << endl;        break;        case 32:        cin >> src >> startIndex;        cout << cpy(src, startIndex) << endl;        break;        case 33:        cin >> src >> startIndex >> endIndex;        cout << cpy(src, startIndex, endIndex) << endl;        break;        case 41:        cin >> src >> delChar;        cout << remove(src, delChar) << endl;        break;        case 42:        cin >> src >> index;        cout << remove(src, index) << endl;        break;        case 43:        cin >> src >> startIndex >> endIndex;        cout << remove(src, startIndex, endIndex) << endl;        break;        }    }    return 0;}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 1319 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号