您的位置:首页 > 其它

2014华为机试题---字符压缩

2014-08-26 08:51 417 查看
/*/*
<p align="left">【输入】 pInputStr: 输入字符串</p><p align="left">lInputLen: 输入字符串长度 </p>【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长
*/
#include<iostream>
using namespace std;
void stringFilter(const char * pInputStr,long lInputLen,char *pOutputStr)
{
//  const char *p;
// p=&pInputStr[0];
int i;
const char *tmp;
tmp=&pInputStr[0];
int cnt=1;
for(i=0;i<lInputLen;i++)
{
if(tmp[i]==tmp[i+1])
cnt++;
else
{
if(cnt==1)
*pOutputStr++=tmp[i];
else
{
*pOutputStr++=cnt+'0';
*pOutputStr++=tmp[i];
cnt=1;
}
}
}
*pOutputStr='\0';
}
int main()
{
char *str;
str=(char *)malloc(sizeof(char));
cin>>str;
int len;
len=strlen(str);
char *pOutputstr;
pOutputstr=(char *)malloc(sizeof(char)*len);
stringFilter(str,len,pOutputstr);
printf("%s",pOutputstr);
}
<img src="https://img-blog.csdn.net/20140826085437853?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemZ5MjAwODcyMjA0MDM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: