// 字符串壓縮.cpp : 定義控制檯應用程序的入口點。 // #include "stdafx.h" #include<iostream> using namespace std; void stringZip(const char *pi, long l, char *po) { int count=1; int j=0; for(int i=0;i<l;i++) { if(pi[i]==pi[i+1]) { count++; } else { if(count==1) { po[j]=pi[i]; j++; } else { int w=0; int t; int sum=0; while(count>0) { t=count%10; sum=sum*10+t; count/=10; w++; } while(w) { po[j++]=sum%10+'0'; sum/=10; w--; } po[j++]=pi[i]; count=1; } } } po[j]='\0'; } int main() { char pInputStr[100]; cin.getline(pInputStr,100); char pOutputStr[100]; long lInputLen=strlen(pInputStr); stringZip(pInputStr, lInputLen, pOutputStr); cout<<pOutputStr; system("pause"); return 0; }