C语言程序设计第四版(何钦铭、颜晖)第八章之字符串压缩

【例8-8】输入一个长度小于80的字符串,按规则对字符串进行压缩,输出压缩后的字符串。压缩规则是:如果某个字符x连续出现n(n>1)个,则将这n个字符替换为"nx"的形式;否则保持不变。

复制代码
#include<stdio.h>
#define MAXN 80
#define MAXM 160
int main()
{
    char str[MAXN],res[MAXM],i,k,n;
    i=k=0;
    while((str[i]=getchar())!='#'){
        i++;
    }
    str[i]='\0';
    i=0;
    while(str[i]!='\0'){
        n=1;
        while(str[i]==str[i+n]){
            n++;
        }
        if(n>1){
            res[k++]=n+'0';
        }
        res[k++]=str[i];
        i=i+n;
    }
    res[k]='\0';
    k=0;
    while(res[k]!='\0'){
        putchar(res[k]);
        k++;
    }
	return 0;
}

输入样例:qqqwaaadcxsss#

输出结果:3qw3adcx3s

相关推荐
励志的小陈6 小时前
贪吃蛇(C语言实现,API)
c语言·开发语言
知识浅谈6 小时前
DeepSeek V4 和 GPT-5.5 在同一天发布了??我也很懵,但对比完我悟了
算法
DeepModel7 小时前
通俗易懂讲透 Q-Learning:从零学会强化学习核心算法
人工智能·学习·算法·机器学习
田梓燊7 小时前
力扣:19.删除链表的倒数第 N 个结点
算法·leetcode·链表
简简单单做算法8 小时前
基于GA遗传优化双BP神经网络的时间序列预测算法matlab仿真
神经网络·算法·matlab·时间序列预测·双bp神经网络
阿豪学编程9 小时前
面试题map/unordered相关
数据结构
guygg889 小时前
利用遗传算法解决列车优化运行问题的MATLAB实现
开发语言·算法·matlab
武藤一雄9 小时前
19个核心算法(C#版)
数据结构·windows·算法·c#·排序算法·.net·.netcore
sali-tec9 小时前
C# 基于OpenCv的视觉工作流-章52-交点查找
图像处理·人工智能·opencv·算法·计算机视觉
梦想的颜色9 小时前
mongoTemplate + Java 增删改查基础介绍
数据结构·数据库·mysql