题解 | #字符串的展开#

字符串的展开

https://ac.nowcoder.com/acm/problem/16644

简单题 #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; }

全部评论

相关推荐

11-15 16:33
已编辑
微软_sde(实习员工)
点赞 评论 收藏
分享
09-29 00:03
门头沟学院 Java
点赞 评论 收藏
分享
迷茫的大四🐶:那你问他上班之后老实了没
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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