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

相关推荐
青少儿编程课堂16 分钟前
蓝桥杯·全国青少年信息素养大赛·电子学会C/C++考级:分层图最短路解析
c++·python·算法·bfs·信息学竞赛
YSL0701241 小时前
一文通关-----排序
数据结构·算法
ZhengEnCi11 小时前
GPT-6 Astra 爆改 Qwen 权重真有那么神吗:权重空间编程 0.016% 参数的真相
算法·架构
罗西的思考11 小时前
【轻量化复刻大模型 / KIMI K3】KDA(Kimi Delta Attention):并行
人工智能·算法·机器学习
蹊黎11 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
夜不会漫长13 小时前
C++:红黑树
数据结构·算法
爱聊灵光的维C13 小时前
从看见世界到重构认知:在视觉与硬件的交汇处,寻找我们这代人的北极星
c语言·物联网·计算机视觉·重构·硬件工程·射频工程
AI+程序员在路上14 小时前
RV1126B 上支持的模型及全流程应用--从CNN及语音到 LLMVLM 与跨平台选型
linux·c语言·人工智能
AI备案指南-满满14 小时前
算法备案审核不通过,一般是什么原因?
java·人工智能·算法·大模型备案·算法备案·大模型登记
Ramble_Naylor14 小时前
Rust深度解读:Send 与 Sync 的本质与线程安全边界
python·算法·rust