1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序 将字符串中

通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序 将字符串中

时间:2022-09-29 15:26:20

相关推荐

通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序 将字符串中

#include<iostream>/*通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。压缩规则:1、仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc"。2、压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"。要求实现函数:void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr);【输入】 pInputStr: 输入字符串lInputLen: 输入字符串长度【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出示例输入:“cccddecc” 输出:“3c2de2c”输入:“adef”输出:“adef”输入:“pppppppp” 输出:“8p”*/using namespace std;void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr){for (int i = 0; i < lInputLen; ){int count = 0;//for (char j = 'a'; j < 'a' + 26; j++)if (pInputStr[i]<'a' || pInputStr[i]>'z'){*pOutputStr = pInputStr[i];i++;}else{char temp = pInputStr[i];while (pInputStr[i]==temp){count++;i++;}if (count > 1){*pOutputStr = '0' + count;pOutputStr++;}*pOutputStr = pInputStr[i - 1];pOutputStr++;count = 0;}}}void main(){char a[] = "pppppppp";long len = strlen(a);char *p = new char[len+1];memset(p, 0, len + 1);stringZip(a, len, p);cout <<"压缩后字符串:"<< p<<endl;//system("pause");cin.get();}

通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序 将字符串中连续出席的重复字母进行压缩 并输出压缩后的字符串。 压缩规则: 1 仅压缩连续重复出现的字符。比如字符串abcbc

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。