解题思路:
注意事项:
参考代码:
#include <iostream>
#include <algorithm>
#include <string>
#include <sstream>
using namespace std;
int main() {
string s;
cin >> s;
int i = 0;
int j = 0;
string sum;
int n = 0;
cin >> n;
while (n--)
{
string result;
while (i < s.length())
{
j = i + 1; //每次从第i个位置的下一个位置开始搜索相同的字符
while (s[j] == s[i]) //逐个匹配,直到不匹配就结束,此时的j等于第一个不重复的字符
{
++j;
}
stringstream ss; //int型转化为string,就是把相同字符的个数转化成string
ss << (j-i); //j-i就是相同字符的个数
sum = ss.str();
result += (sum+s[i]); //把所有相同字符个数的string形式加上这个重复的字符,循环结束之后result就是该次变换的结果
i = j; //下一次寻找就从不是重复字符的第一个开始。
}
s = result; //每次结束一次变换就更新s为该次变换后的结果,然后继续下一次循环,直到n=0
i = 0;
}
cout << s;
return 0;
}
0.0分
0 人评分
【蟠桃记】 (C++代码)(递归计算)浏览:1060 |
简洁的代码浏览:1474 |
点我有惊喜!你懂得!浏览:1417 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1045 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:674 |
printf基础练习2 (C语言代码)浏览:648 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:674 |
简单的a+b (C语言代码)浏览:674 |
wu-理财计划 (C++代码)浏览:907 |
WU-拆分位数 (C++代码)浏览:819 |