字元壓縮
話說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]='