字符串的展开

#include using namespace std; #include string fun(char b,char c,int p1,int p2,int p3){ if(c-b==1)return ""; if(!((isalpha(b)&&isalpha(c)&&b<c)||(isdigit(b)&&isdigit(c)&&b<c)))return "-"; string ans=""; for(int i=b+1;i<c;i++){ for(int j=0;j<p2;j++) ans+=i; } if(p1==2&&isalpha(b)){ for(int i=0;i<ans.length();i++)ans[i]+='A'-'a'; } if(p1==3){ for(int i=0;i<ans.length();i++)ans[i]='*'; } if(p3==2){reverse(ans.begin(),ans.end());} return ans; } int main(){ int p1,p2,p3;string s; cin>>p1>>p2>>p3;cin>>s; string ans=""; for(int i=0;i<s.length();i++){ if(s[i]=='-'&&i-1>=0&&i+1<s.length()){ ans+=fun(s[i-1],s[i+1],p1,p2,p3); }else{ ans+=s[i]; } } cout<<ans; }

全部评论

相关推荐

09-01 21:40
已编辑
同济大学 Java
点赞 评论 收藏
分享
09-17 19:25
已编辑
太原理工大学 游戏测试
叁六玖:公司名发我,我要这个HR带我打瓦
我的秋招日记
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务