博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试题1字符串的压缩
阅读量:5300 次
发布时间:2019-06-14

本文共 2072 字,大约阅读时间需要 6 分钟。

1 #define _CRT_SECURE_NO_WARNINGS 2 #include 
3 4 #include
5 #include
6 /* 7 功能: 8 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。 9 压缩规则:10 1、仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc"。11 2、压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"。12 要求实现函数:13 void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr);14 【输入】 pInputStr: 输入字符串15 lInputLen: 输入字符串长度16 【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;*/17 void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr);18 19 int main()20 {21 char inputStr[100];22 char outputStr[100];23 24 memset(inputStr, '\0', sizeof(char) * 100);//清空操作25 memset(outputStr, '\0', sizeof(char) * 100);26 27 gets(inputStr);28 stringZip(inputStr, strlen(inputStr), outputStr);//数组地址 长度 最后放入的数组29 30 printf("%s", outputStr);31 32 getchar();33 34 return 0;35 }36 37 void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr)38 {39 char cTemp;40 int i;41 int count = 1;42 char tempStr[20];43 44 memset(tempStr, '\0', sizeof(char) * 20);45 46 for (i = 1; i <= lInputLen; i++)47 {48 cTemp = pInputStr[i - 1];//这里注意循环从1开始 后一个和前一个比较相等就计数49 if (cTemp == pInputStr[i])50 {51 count++;52 continue; //结束这次循环 53 }54 else55 {56 if (count == 1)//如果还是最初的值 也就是没有相邻重复的57 {58 sprintf(tempStr, "%c", cTemp);//输出到字符串59 //printf("%s", tempStr);60 //getchar();61 62 strcat(pOutputStr, tempStr);63 memset(tempStr, '\0', sizeof(char) * 20);64 }65 else//有重复的情况66 {67 sprintf(tempStr, "%d%c", count, cTemp);68 strcat(pOutputStr, tempStr);69 memset(tempStr, '\0', sizeof(char) * 20);70 }71 count = 1;72 }73 }74 }

 

转载于:https://www.cnblogs.com/lanjianhappy/p/6443792.html

你可能感兴趣的文章
加固linux
查看>>
wget 升级
查看>>
为什么需要大数据安全分析?
查看>>
day13.字典复习
查看>>
IPSP问题
查看>>
(转)Java中的String为什么是不可变的? -- String源码分析
查看>>
HNU 10362 A+B for Input-Output Practice (II)
查看>>
iOS——UIButton响应传参数
查看>>
【转帖】关于'eh vector constructor/destructor iterator'的讨论及类的内存分布模型
查看>>
十. 图形界面(GUI)设计9.列表和组合框
查看>>
10.17动手动脑
查看>>
操作系统实验一:并发程序设计
查看>>
互联网协议入门(一)
查看>>
16_Python变量作用域_Python编程之路
查看>>
js index of()用法
查看>>
XSS原理及防范
查看>>
WPF中Image显示本地图片
查看>>
SVN版本管理
查看>>
哈希表等概率情况下查找成功和查找不成功的平均查找长度的计算
查看>>
Windows Phone 7你不知道的8件事
查看>>