解题思路:
用循环...有点绕,递归可能好一点...
注意事项:
参考代码:
#include <iostream> #include <stdio.h> #include <string> #include <algorithm> using namespace std; string intToString(int n) { string str; while (n) { str += n % 10 + '0'; n /= 10; } reverse(str.begin(), str.end()); return str; } string translate(string str, int transTimes) { int times = 0, index; while (times < transTimes) { string newStr; index = 0; while (index < str.length()) { char curChar = str[index]; int repTimes = 1; while (str[++index] == curChar) repTimes += 1; newStr += intToString(repTimes) + curChar; } times += 1; str = newStr; } return str; } int main(void) { string str; int n; cin >> str >> n; cout << translate(str, n) << "\n"; return 0; }
0.0分
3 人评分
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:770 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:949 |
【简单计算】 (C语言代码)浏览:642 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:564 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:651 |
字符逆序 (C语言代码)浏览:645 |
剪刀石头布 (C语言代码)浏览:1519 |
数列排序 (C语言代码)浏览:674 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:1108 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:725 |