题目链接:1078 字符串压缩与解压
#include <iostream>
using namespace std;
int main(){
int count,i;
char c;
string s;
cin >> c;
getchar();
getline(cin, s);
if(c == 'C'){
i = 1;
while(i<s.length()){
count = 1;
while(s[i-1] == s[i] && i<s.length()){
count++;
i++;
}
if(count>1) cout<< count;
cout << s[i-1];
if(i == s.length() - 1 && s[i] != s[i-1]) cout << s[i];
i++;
}
}
if(c == 'D'){
i = 0;
while(i<s.length()){
count = 0;
while(s[i] >= '0' && s[i] <= '9'){
count = count * 10 + (s[i] - '0');
i++;
}
if(!count) count = 1;
for(int j=0;j<count;j++){
cout << s[i];
}
i++;
}
}
cout << endl;
return 0;
}
该代码实现了一个简单的字符串压缩与解压功能。当输入字符'C'时,程序将执行压缩操作,通过计数连续相同的字符并输出计数值和字符。当输入字符'D'时,程序将执行解压操作,读取一串数字字符序列,然后输出对应的字符序列。代码适用于理解和练习简单的字符串处理算法。
1220

被折叠的 条评论
为什么被折叠?



