标签:names pre style out using 压缩 iostream strlen esc
给出一个全部由小写字母和数字组成的字符串。请先将这个字符串中的数字全部擦除。然后为了将这个字符串存储起来,并且尽可能地节省空间,现在将多个连续出现的相同字母,改写成这个字母本身后面跟上最长的连续的个数的形式。比如"...baaaaac..."这个部分可以改写成"...ba5c..."(连续出现的个数可能会超过10个)。如果字符一个个单独出现,则不需要压缩。给出一个 字符串,试着输出经处理的结果。
一行,一个字符串,含有小写字母和数字
处理之后的字符串的结果
aaaaaa5bbbb323b2g
a6b5g
1 #include <iostream> 2 #include <string.h> 3 #include <cstdio> 4 5 using namespace std; 6 7 char s[1000],t[1000]; 8 int main() 9 { 10 gets(t); 11 int j=0,k=0,cnt; 12 for(int i=0;i<strlen(t);i++) 13 { 14 if(t[i]>=‘a‘&&t[i]<=‘z‘) 15 { 16 s[j]=t[i]; 17 j++; 18 } 19 } 20 while(s[k]!=‘\0‘) 21 { 22 cnt = 1; 23 cout<<(s[k]); 24 k++; 25 while(s[k]==s[k-1]) 26 { 27 cnt++; 28 k++; 29 } 30 if(cnt>1) 31 cout<<(cnt); 32 } 33 34 return 0; 35 }
标签:names pre style out using 压缩 iostream strlen esc
原文地址:https://www.cnblogs.com/zhangjs73/p/10309512.html