紧急求助:编写函数int compress(char s[) ,将字符串s连续出现的多个字符压

如题所述

#include <iostream>        //控制台操作头文件

int compress(char s[])     //压缩函数
{char *p;                  //字符指针p
 while(*s)                 //如果当前字符不为空(字符串还没结束)
      {if(*s==*(s+1))      //如果下一个字符和当前字符一样
         {p=s+1;           //从下一个字符开始 
          while(*p)        //直到字符串结束
               {*p=*(p+1); //让字符前移一位(把重复的字符覆盖掉)
                 p++;}}    //让字符指针后移一位
       s++;}}              //接着检测下一个字符
       
int main()                 //主函数
{char a[]="abbcde1125799"; //字符串样本
 puts(a);                  //输出原串
 compress(a);              //对a串进行压缩,去掉重复的字符
 puts(a);                  //输出压缩后的字符串
 system("PAUSE");          //暂停,以看清运行结果
 return 0;}                //程序结束

温馨提示:答案为网友推荐,仅供参考
相似回答