题目描述
输入一个字符串,字符串是一种简单的压缩编码,由正整数和字母交替组合而成。
本题要求对该压缩编码进行解码并输出。
输入
输入一个字符串,字符串由正整数和字母交替组合而成。例如: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);
}
}