对输入字符串进行压缩,输入"aaabcccdde",输出"3ab3c2de",即对连续出现的字符进行压缩。
#include <iostream> #include <cstring> #include <cstdlib> using namespace std; char* stringCompress(char a[]) { int mark=0; char temp=a[0]; int len=strlen(a); //int count[len]={0}; int count=1; //string str; char b[len+1]; int j=0; for(int i=1;i<len;i++) { if(a[i]==temp) count++; else{ if(count!=1) b[j++]=count+‘0‘; b[j++]=temp; count=1; temp=a[i]; } } if(count!=1) b[j++]=count+‘0‘; b[j]=temp; b[++j]=‘\0‘; return b; } int main() { char a[100]; cin.getline(a,100); cout<<a<<endl; char* res=stringCompress(a); cout<<res<<endl; system("pause"); return 0; }
时间: 2024-12-06 21:52:43