happy_doby 2016-08-18 13:09 采纳率: 0%
浏览 3648

采用C语言进行字符串压缩

通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
压缩规则:
1. 仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc".
2. 压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"

示例
输入:“cccddecc” 输出:“3c2de2c”
输入:“adef” 输出:“adef”
输入:“pppppppp” 输出:“8p”

  • 写回答

5条回答 默认 最新

  • cqbzcsq 2016-08-18 13:15
    关注

    C++回答

    #include
    #include
    int main()
    {
    char a[1005];
    int len,i,sum=0;
    gets(a);
    len=strlen(a);
    for(i=0;i<=len-1;i++){
    sum++;
    if(a[i+1]!=a[i]){
    if(sum==1){
    printf("%c",a[i]);
    sum=0;
    }
    else{
    printf("%d%c",sum,a[i]);
    sum=0;
    }
    }
    }
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器