字符串壓縮

// 字符串壓縮.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;
}
相關文章
相關標籤/搜索