c语言字符串处理-----压缩字符串

本文分享了一段C语言基础的字符串压缩程序实现,将连续重复的字符进行压缩,例如将aaaaabcccddde压缩为a5b1c3d3e1。代码详细介绍了压缩过程及实现细节。
部署运行你感兴趣的模型镜像

马上要毕业了,最近一段时间一直看一些c语言基础的东东。打算从今天开始把最近的一些所得写出来和大家分享。今天先写一段关于字符串压缩的程序。

简单来说就是,把一段如"aaaaabcccddde“,写成“a5b1c3d3e1”的字符串。代码如下

void yasu(char *s)
{

 char *p;
 char reschar[100];//存放压缩后的字符串
 memset(reschar,NULL,sizeof(reschar)); //字符串赋值为空
 p=s;
 int count=1;
 int k=0;

 int len=strlen(s);

 for (int i=0;i<=len-1;i++)
 {
  if(p[i+1]==p[i])
  {
   count++;
  }
  else
  {
   //sprintf(reschar+strlen(reschar),"%c%d",p[i],count);
   if ((count>=10)&&(count<100))
   {
    int d1=count%10;
    int d2=(count/10)%10;
    reschar[k++]=d2+'0';
    reschar[k++]=d1+'0';
   }
   else
   {
    
   reschar[k++]=count+'0';

   }

  // itoa(count,reschar[k++],10);

   count=1;
  }


 }
 printf("%s\n",reschar);

}


 

如有问题,请提问

 

您可能感兴趣的与本文相关的镜像

Wan2.2-T2V-A5B

Wan2.2-T2V-A5B

文生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值