字符串压缩算法5.11
字符串压缩算法
有一种简单的字符串压缩算法,对于字符串中连续出现的同一字符,用该字符加上连续出现的次数来表示(连续出现次数小于3的不压缩)。
设计程序,将采用该压缩方法压缩后的字符串解压还原为原字符串并输出。
输入样例:
ab5a10c5
输出样例:
abbbbbaaaaaaaaaaccccc
办法分析
对输入的字符串进行逐个扫描,如果遇到字符串直接输出,如果遇到数字,则逐个读取数字字符将其转为int型数字,然后输出该数字个前一字符。
代码实现
#include <stdio.h>
#include <ctype.h>
int main(){char input[20],tmp,c;int i=0;gets(input);while(input[i]){c=input[i];if(tolower(c)>='a'&&tolower(c)<='z') {printf("%c",c);i++;}else if(c>='0'&&c<='9'){tmp=input[i-1];int num=0;while(input[i]>='0'&&input[i]<='9'){ num=num*10+input[i]-'0';i++; }num-=1; while(num--){printf("%c",tmp);}}}return 0;
}
参考代码
#include <stdio.h>
int main()
{int i = 0, sum, count, k;char s[50];gets(s);while (s[i]){printf("%c", s[i]);i++;sum = 0;count = 0;while (s[i] >= '0' && s[i] <= '9'){sum = sum * 10 + s[i] - '0';i++;count++;}for (k = 0; k < sum - 1; k++)printf("%c", s[i - count - 1]);}return 0;
}
链接:
https://mp.weixin.qq.com/s/SZwH2T_GBMJscpL-sf4OJw
字符串压缩算法5.11相关推荐
- java 字符串 压缩_用JAVA实现字符串压缩算法
public class Test3 { /** * 用JAVA实现字符串压缩算法. 将字符串 aaabcdda 编程实现将其转换为 3a1b1c2d1a : * * @param str * 需要转 ...
- Java黑皮书课后题第4章:*4.26(金融应用:货币单位)重写程序清单2-10,解决将float型值转换为int型值时可能会造成精度损失的问题。读取的输入值是一个字符串,比如“11.56“
*4.26(金融应用:货币单位)重写程序清单2-10,解决将float型值转换为int型值时可能会造成精度损失的问题.读取的输入值是一个字符串,比如"11.56" 题目 题目概述 ...
- 小红书2019年校园招聘:字符串压缩算法
字符串压缩算法: 题面: 输入一串字符,请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串. 例如: aac 压缩为 1ac xxxxyyyyyyzbbb 压缩为 3 ...
- 实现简易字符串压缩算法
public class StringZip {// 实现简易字符串压缩算法:一个长度最大为128的字符串,由字母a-z或者A-Z组成,将其中连续出现2次以上(含2次)的字母转换为字母和出现次数,以达 ...
- 输入n个字符串字典序排序_FSST - 快速字符串压缩算法
VLDB: Fast Static Symbol Table (FSST): fast text compression that allows random access 这篇paper提出一种快速 ...
- C++字符串反转(C++11)
ubuntu编译: g++ -std=c++11 deque.cpp -o deque #include <iostream> #include <list> using na ...
- 有一个字符串,如11.2美元34人民币;如何将数字与单位分开,放入数组中呢,数组比如 attr[0]=11.2 attr[1]=美元 ,依次类推
import java.util.regex.Matcher; import java.util.regex.Pattern;public class Test3 {public static voi ...
- 2019 小红书校招笔试题字符串压缩算法
时间限制:1秒 空间限制:32768K 1 2 3 4 输入一串字符,请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串. 例如: aac 压缩为 1ac xxxxy ...
- C和指针之字符串编程练习11(统计一串字符包含the的个数)
1.问题 编写一个函数,对标准的输入进行扫描,并对单词"the"出现的次数进行计数,区分大小写, 输进来的输入可以包含空格字符等等 2.代码实现 #include <stdi ...
最新文章
- 实战Linux Bluetooth编程(四) L2CAP层编程
- 自学python需要下载什么软件-一篇告诉你为什么人人都应该学点Python?
- [转载]CentOS6nbsp;快速搭建轻量级远程桌面nbsp;Xfcenb
- kafka自带的zk启动_Centos上将zookeeper和kafka设置为开机自启
- java web 数据验证_kpvalidate开辟验证组件,通用Java Web请求服务器端数据验证组件...
- Tosca :配置环境参数
- mysql协议分析1,MySQL协议分析(1)
- C# 根据EXCEL自动生成oracle建表语句
- UnityHub破解Unity破解
- Unity 镜子反射特效
- 行列式与矩阵相关与应用
- PYTHON实现迅雷、FLASHGET、QQ旋风转真实链接、磁链转种子文件、迅雷快传链接抓取
- 点击图片,放大/缩小图片
- python爬虫音乐图片的感受_python爬虫+词云图,爬取网易云音乐评论
- 要想成为郎朗,请AI监督练琴可不行!
- The 9-th BIT Campus Programming F. 狂乱(背包)
- 服务器如何选择备案产品类型?
- 修复 eclipse SVN 插件不运行的问题
- java ssm 基于springboot的志愿者招募网站
- 推荐一些学习软件编程的网站