#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
提交
取消