1. 程式人生 > >字符串擦除字符並壓縮

字符串擦除字符並壓縮

題目 壓縮 空間 out class bsp pre 10個 組成

題目描述 Description

給出一個全部由小寫字母和數字組成的字符串。請先將這個字符串中的數字全部擦除。然後為了將這個字符串存儲起來,並且盡可能地節省空間,現在將多個連續出現的相同字母,改寫成這個字母本身後面跟上最長的連續的個數的形式。比如"...baaaaac..."這個部分可以改寫成"...ba5c..."(連續出現的個數可能會超過10個)。如果字符一個個單獨出現,則不需要壓縮。給出一個 字符串,試著輸出經處理的結果。

輸入描述 Input Description

一行,一個字符串,含有小寫字母和數字

輸出描述 Output Description

處理之後的字符串的結果

樣例輸入 Sample Input

aaaaaa5bbbb323b2g

樣例輸出 Sample Output

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 }

字符串擦除字符並壓縮