字符压缩
话说B数组不应该是整形呀,不然不能保存字母了。以下是我的代码。。。
#include<iostream>
#include<string.h>
#include<stdio.h>
usingnamespacestd;
voidyasuo(chara[],charb[])
{
intcount=1,p=0;
for(inti=0;i<strlen(a);i++)
if(a[i]==a[i+1])
count++;
elseif(count>2)
{
b[p++]=(char)(count+'0');
b[p++]=a[i];
count=1;
}
elseif(count==2)
{
b[p++]=a[i];
b[p++]=a[i];
count=1;
}
else
b[p++]=a[i];
}
voidprintB(charb[])
{
cout<<b<<endl;
}
voidbackB(charb[])
{
for(inti=0;i<strlen(b);i++)
if(b[i]<='9'&&b[i]>='3')
{
for(intj=0;j<(int)(b[i]-'0');j++)
cout<<b[i+1];
i++;
}
else
cout<<b[i];
cout<<endl;
}
intmain()
{
chara[1000]={0},b[1000]={0};
gets(a);
yasuo(a,b);
printB(b);
backB(b);
}
⑵ word提示含有无法压缩的字符
1、选中这些字符尝试取消格式,或把字符改成字体、NewtimeRoman等类型。是字体的原因,源文件编辑时选用了电脑上没有的字体,到了这里自然无法识别。
2、文件本身被破坏或损坏了,如果都是这样那就要重新安装OFFICE。
3、有没有设置隐藏文字?如有,工具菜单-->选项-->视图(格式标记)-->"全部"前面打勾,确定。就可以看到文章里所有的文字了。再选中字下面有点的字在字体格式里把隐藏文字前面的勾去掉就可以了。
4、先Ctrl-A全选并Ctrl-X剪切,然后进入编辑菜单,选“选择性粘贴”-“无格式文本”。
⑶ 使用C语言实现字符串的压缩。
/*
原串:111225555
压缩后:312245
原串:333AAAbbbb
压缩后:333A4b
原串:ASXDCdddddd
压缩后:1A1S1X1D1C6d
Pressanykeytocontinue
*/
#include<stdio.h>
#include<string.h>
char*CompressStr(chars[]){
chart[255];
inti=0,j,k=0;
while(s[i]){
j=i+1;
while(s[i]==s[j])++j;
t[k++]=j-i+'0';
t[k++]=s[i];
i=j;
}
t[k]='