(PTA)6-9 字符串压缩
本题要求实现一个字符串压缩的简单函数。压缩规则是:如果某个字符x
连续出现n
(n>1)次,则将这n
个字符x
替换为nx
的形式;否则保持不变。
函数接口定义:
void zip( char *p );
函数zip
对p
指向的字符串进行压缩操作。
样例:
#include <stdio.h>
#define MAXS 20void zip( char *p );
void ReadString( char *s ); /* 由裁判实现,略去不表 */int main()
{char s[MAXS];ReadString(s);zip(s);printf("%s\n", s);return 0;
}/* 请在这里填写答案 */
输入样例:
Mississippi
输出样例:
Mi2si2si2pi
代码如下:
#include<string.h>
void zip( char *p )
{int cout=1;//用于计算重复字符的个数int j=0,m;int len=strlen(p); //计算字符串长度for(m=0;m<len;m++){if(p[m]==p[m+1]) cout++; //如果该元素和后一个元素相等加1else if(p[m]!=p[m+1]){if(cout==1) //cout等于1时的情况{p[j]=p[m];j++;cout=1;//重置cout的值}else if(cout>1&&cout<=9)//cout等于1时的情况{p[j]=cout+48;//将int型数据转化为char型数据,也可以是( p[j]=cout+‘0’;)j++;p[j]=p[m];j++;cout=1;}else if(cout>=10)//cout大于等于10时的情况{p[j]=(cout/10)+48;j++;p[j]=(cout%10)+48;j++;p[j]=p[m];j++;cout=1;}}}p[j]='\0';
}
特别感谢博主 一键清风
(PTA)6-9 字符串压缩相关推荐
- C++学习之路 | PTA乙级—— 1078 字符串压缩与解压 (20 分)(精简)
1078 字符串压缩与解压 (20 分) 文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示.例如 ccccc 就用 5c 来 ...
- PTA字符串压缩 (10 分)
字符串压缩 (10 分) 本题要求实现一个字符串压缩的简单函数.压缩规则是:如果某个字符x连续出现n(n>1)次,则将这n个字符x替换为nx的形式:否则保持不变. 函数接口定义: void zi ...
- python【蓝桥杯vip练习题库】ADV-301 字符串压缩
试题 算法提高 字符串压缩 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 编写一个程序,输入一个字符串,然后采用如下的规则对该字符串当中的每一个字符进行压缩: (1) 如果该字符是 ...
- redis源码之字符串压缩
redis关于字符串压缩的几个文件分别是:lzf.h,lzfP.h,lzf_c.c,lzf_d.c,下面看一个测试用例. #include <iostream> #include < ...
- leetcode 解压缩_leetcode之字符串压缩
序 本文主要记录一下leetcode之字符串压缩 题目 字符串压缩.利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能.比如,字符串aabcccccaaa会变为a2b1c5a3.若&quo ...
- C语言字符串压缩显示
昨天参加WPS的笔试时,有一道题是要求写一个函数实现字符串压缩,举个例子: 输入:aaabbccccc 输出:a3b2c5 当时总想着怎么把输入的字符串str改写成输出那压缩形式,如果要修改字符串的话 ...
- C#自定义字符串压缩和解压缩源码库
如下的内容是关于C#自定义字符串压缩和解压缩库的内容. class ZipLib{public static string Zip(string value){byte[] byteArray = n ...
- Python3 解题:字符串压缩
Python3 解题:字符串压缩 原题 https://leetcode-cn.com/problems/compress-string-lcci/ 题目: 字符串压缩.利用字符重复出现的次数,编写一 ...
- 程序员面试金典 - 面试题 01.06. 字符串压缩(字符串)
1. 题目 字符串压缩.利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能.比如,字符串aabcccccaaa会变为a2b1c5a3.若"压缩"后的字符串没有变短,则返 ...
最新文章
- mmse评估量表_简易精神状态评价量表(mmse量表) 打印版.doc
- 边框画的三角形给shadow
- asp.net模版页面的高级应用
- stringiostream的用法
- Spring-Boot (四) 集成Spring Security
- python get请求 url传参_requests的get请求url参数、url重定向处理及cookies
- Python之倒序切片
- 太仓爱尚你婚庆--太仓浪漫婚庆第一品牌
- mysql-proxy读写分离,负载均衡
- 服务器的登录日志文件,windows云服务器登录日志文件
- tomcat10.0安装及配置教程(win10)
- 如何不打开excel文件搜索其中内容---在线绿色工具
- 2022年JDK-8下载方法
- 层次分析法(AHP法)
- java网吧会员计费管理系统springboot+vue
- 基于阿里天池的淘宝用户行为分析
- fiddler提示the system proxy was changed,Click to reanable capturing.导致无法抓包
- Minecraft 1.18.1、1.18.2模组开发 21.传送门(Portal)
- 拟一维喷管流动的数值解——亚声速-超声速等熵喷管流动的守恒型CFD解法(MacCormack方法)
- 360cdn能挡住cc攻击_又被CC攻击弄得心有余悸?莫怕!这里教你如何防御
热门文章
- 输入一个日期判断是当年的第几天(C语言)
- OpenGL(四) 左右手坐标系及基本坐标变换
- python中路径的表示方式
- 电子书 http://my.unix-center.net/~Simon_fu/?page_id=724
- Java、JSP汽车零件销售管理系统的设计与实现
- 小飞学习Docker之使用容器
- C# Winform添加背景图片后加载的时候控件卡
- def python_multi(n)_Python:MultiPing.py
- EigenGame:将主成份分析(PCA)作为一个博弈游戏
- mysql数据模型三要素_E-R模型的三要素为实体、属性、联系-智慧树数据库原理章节答案...