PTA 6-3 字符串压缩

2023-09-24 13 0

本题要求实现一个字符串压缩的简单函数。压缩规则是:如果某个字符x连续出现n(n>1)次,则将这n个字符x替换为nx的形式;否则保持不变。

函数接口定义:


void zip( char *p );

函数zipp指向的字符串进行压缩操作。

裁判测试程序样例:


#include <stdio.h> #define MAXS 20 void zip( char *p ); void ReadString( char *s ); /* 由裁判实现,略去不表 */ int main() { char s[MAXS]; ReadString(s); zip(s); printf("%s\n", s); return 0; } /* 请在这里填写答案 */

输入样例:

Mississippi

输出样例:

Mi2si2si2pi

 

void zip(char*p){char *a=p;//为方便赋值 定义*a指针拿来进行赋值 int n;    //*p指针拿来进行检查while(*p!='\0'){n=1;while(*p==*(p+n))n++;if(n>=10){*a++=n/10+'0';*a++=n%10+'0';}else if(n>=2){*a++=n+'0';}*a++=*(p+n-1);//把重复的字符放进重复字符最后一个;p=p+n;//指针指向重复字符之后的字符;}*a='\0';}

代码编程
赞赏

相关文章

商务电子邮箱那个安全?怎么使用163邮箱最安全?
企业邮箱邮件迁移攻略,怎么把邮件同步到新注册的企业邮箱?
公司企业邮箱开通使用,收不到邮件怎么办?
邮件撤回方法详解,一键解决发错邮件的尴尬
公司邮件怎么备份?外贸企业邮箱邮件存储知识分享
春节假期怎么看公司邮箱邮件方便,好用的外贸企业邮箱推荐