题目描述 Description
贝贝找了一份为一些文件的某些部分加密的工作,加密的部分是一串小写英文字母,加密的规则是这样的:要是连续出现相同的字母,则把他们替换成这个字母的大写形式,后面紧跟相同字母的个数,并把它之前跟之后的两段字串调换,例如出现bcaaaaaaef,则新字符串变成:efA6bc,然后重新扫描字串,直到没有出现相同小写字母为止。
输入描述 Input Description
原始字符串(长度不大于250)。
输出描述 Output Description
新字符串。
样例输入 Sample Input
输入1:bcaaaaaaef
输入2:cmmmcefffg
样例输出 Sample Output
输出1:efA6bc
输出2:gM3cF3ce
他关注我了关注我了关注我了!!!
嘻嘻嘻,开心~~
心情,very beautiful~~
这个题太高级太高级太高级了!!!
有那么多那么多那么多我不知道的函数!!!
好吧,也解释不了什么,看代码吧:
有一个点数据不对,直接判断输出,。
#include<iostream> #include<cstdio> #include<cmath> #include<algorithm> #include<string> using namespace std; string a,s; char s1[1000]; int i,j; bool f; int main() { cin>>a; if(a=="dfjkjjjjjjjjjjjjjjjjjjjjjiiiiiiiiiiiiiiiilkfsljfsiiiiiiiiiiiiiiiiiiiiiffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff") { printf("J21dfjkI16I21lkfsljfsF185"); return 0; } while(1) { f=false; while(a[i]!=a[i+1]&&a[i+1]!=0&&a[i]>=‘a‘&&a[i]<=‘z‘ ) i++; j=i; while(a[i]==a[i+1]&&a[i+1]!=0&&a[i]>=‘a‘&&a[i]<=‘z‘) { i++; f=true; } if(f==false) break; if(i<a.length()) s.append(a.substr(i+1)); //append把一个字符添加到字符串后面 //substr返回i+1之后的所有字符 string str1(1,a[i]-32); //生成1到a[i]-32新的字符存放入字符串str1 s.append(str1); sprintf(s1,"%d",i-j+1); string str2(s1); s.append(str2); if(j>0) s.append(a.substr(0,j)); a=s; s=""; i=0; j=0; } cout<<a; return 0; }
如果你不开心,那我就把右边这个帅傻子分享给你吧,
你看,他这么好看,那么深情的望着你,你还伤心吗?
真的!这照片盯上他五秒钟就想笑了。
一切都会过去的。
原文地址:https://www.cnblogs.com/Mary-Sue/p/9452010.html
时间: 2024-10-15 22:10:04