问题描述
有一种简单的字符串压缩算法,对于字符串中连续出现的同一个英文字符,用该字符加上连续出现的次数来表示(连续出现次数小于3时不压缩)。
例如,字符串aaaaabbbabaaaaaaaaaaaaabbbb可压缩为a5b3aba13b4。
请设计一个程序,将采用该压缩方法得到的字符串解压缩,还原出原字符串并输出。
输入说明
输入数据为一个字符串(长度不大于50,只包含字母和数字),表示压缩后的字符串
输出说明
在一行上输出解压缩后的英文字符串(长度不超过100),最后换行。
输入样例
a5b3aba13b4
输出样例
aaaaabbbabaaaaaaaaaaaaabbbb
#include<stdio.h>
#include<string.h>
int main(){
char a[100]={0},b[100]={0};
int count=0,i=0,j;
gets(a);
while(a[i]){
if(a[i]==a[i+1]){
count++;
}else {
b[j]=a[i];b[j+1]=count+'1';
j+=2;
count=0;
}i++;
}
for(int i=0;i<strlen(b);i++){
printf("%c",b[i]);
}
}
XDOJ字符串压缩
最新推荐文章于 2023-11-26 12:20:23 发布