理工大学的菜鸡 2022-12-10 01:47 采纳率: 84.2%
浏览 49
已结题

行程长度压缩编码方法RLC即相邻的字符若相同,则记录相同的次数,从而减小字符串的长度。

问题遇到的现象和发生背景

行程长度压缩编码方法RLC即相邻的字符若相同,则记录相同的次数,从而减小字符串的长度。

遇到的现象和发生背景,请写出第一个错误信息

定义函数“int rlc(char *s,DATA *dest);”实现行程长度压缩编码方法RLC。

用代码块功能插入代码,请勿粘贴截图。
    typedef struct {    
char ch;
unsigned num;
}DATA;
【测试数据】:
字符串:aaaaabbbbcccddddaafff
【运行结果】
转换后的字符串:a5b4c3d4a2f3

  • 写回答

1条回答 默认 最新

  • ShowMeAI 2022-12-10 02:21
    关注

    对应的代码实现和测试代码如下,望采纳

    #include <stdio.h>
    #include <string.h>
    
    typedef struct {    
        char ch;
        unsigned num;
    }DATA;
    
    int rlc(char *s, DATA *dest)
    {
        int len = 0;
        int i = 0;
        while (s[i] != '\0')
        {
            dest[len].ch = s[i];
            dest[len].num = 1;
            while (s[i] == s[i + 1])
            {
                dest[len].num++;
                i++;
            }
            i++;
            len++;
        }
        return len;
    }
    
    int main()
    {
        char s[] = "aaaaabbbbcccddddaafff";
        DATA dest[100];
        int len = rlc(s, dest);
        int i;
        for (i = 0; i < len; i++)
        {
            printf("%c%d", dest[i].ch, dest[i].num);
        }
        printf("\n");
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 12月17日
  • 已采纳回答 12月10日
  • 创建了问题 12月10日

悬赏问题

  • ¥15 FastReport 怎么实现打印后马上关闭打印预览窗口
  • ¥15 利用3支股票数据估计其均值和方差的95%置信区间。
  • ¥15 微信小程序运行一项功能时,弹出未知错误弹框,检查代码没有问题
  • ¥15 ATAC测序生成self-pseudo replicates之前是否要进行去线粒体reads
  • ¥15 python模糊字匹配函数问题
  • ¥20 谁刷目标页面的uv记录器上数据,数据只记录跳转的数值
  • ¥30 数据库软件的安装方法
  • ¥15 一道以太网数据传输题
  • ¥15 python 下载群辉文件
  • ¥50 代码还没怎么运行但是需要代码功能调用数据