1078 字符串压缩与解压 较简单
作者:互联网
代码
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
int main()
{
char ch;
string s;
char tmpc;
int tmp=0;
cin>>ch;
getchar();
if(ch=='C'){
getline(cin,s);
for(int i=0;s[i]!=NULL;i++){
if(i==0){
tmpc=s[i];
}
if(tmpc==s[i]){
tmp++;
}
else{
if(tmp==1){
cout<<tmpc;
}
else{
cout<<tmp<<tmpc;
}
tmpc=s[i];
tmp=1;
}
}
if(tmp==1){
cout<<tmpc;
}
else{
cout<<tmp<<tmpc;
}
}
else if(ch=='D'){
getline(cin,s);
for(int i=0;s[i]!=NULL;i++){
if(i==0){
tmp=1;
}
if(s[i]<='9'&&s[i]>='0'){
if(tmp==1){
if(i>=1&&s[i-1]=='1'){
tmp=tmp*10+(s[i]-'0');
}
else{
tmp=s[i]-'0';
}
}
else{
tmp=tmp*10+(s[i]-'0');
}
}
else{
for(int j=0;j<tmp;j++){
cout<<s[i];
}
tmp=1;
}
}
}
return 0;
}
标签:解压,tmp,ch,1078,int,tmpc,else,字符串,include 来源: https://www.cnblogs.com/wodeblog1982/p/16472043.html