HNUST-OJ-压缩编码的解码

本文介绍了一种简单的字符串解压算法,该算法通过读取由正整数和字母交替组成的压缩字符串,并根据每个字母前的数字重复输出该字母指定次数来完成解压。文章提供了具体的解压示例和C语言实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

输入一个字符串,字符串是一种简单的压缩编码,由正整数和字母交替组合而成。
本题要求对该压缩编码进行解码并输出。 

输入

 输入一个字符串,字符串由正整数和字母交替组合而成。例如:5a7b12C13d

说明:

本题若对字符串逐个字符进行分析处理,整数的重构较为麻烦,宜采用如下的输入方式获取输入数据。

while(scanf("%d%c",&n,&ch)==2) { } 或 while(scanf("%d%c",&n,&ch)!=EOF) { } 

 本提醒实为降低难度,降低难度后,本题主要考查循环语句。

输出 

输出解码后的结果。
解码规则是:对于各个字母,输出指定次数,次数由字母左边的整数确定。
例如若输入的压缩编码为5a7b12C13d,则解码后为aaaaabbbbbbbCCCCCCCCCCCCddddddddddddd。 其中,5a解码后对应5个a,7b解码后对应7个b,12C解码后对应12个C,13d解码后对应13个d。

样例输入

输出解码后的结果。
解码规则是:对于各个字母,输出指定次数,次数由字母左边的整数确定。
例如若输入的压缩编码为5a7b12C13d,则解码后为aaaaabbbbbbbCCCCCCCCCCCCddddddddddddd。 其中,5a解码后对应5个a,7b解码后对应7个b,12C解码后对应12个C,13d解码后对应13个d。 

 样例输出

 aaaaabbbbbbbCCCCCCCCCCCCddddddddddddd

解题思路:

参照提示就会变得格外简单 

代码实现: 

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,i;char ch;
    while(scanf("%d%c",&n,&ch)==2)
    {
        for(i=1; i<=n; i++)printf("%c",ch);

    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值