#include?stdio.h
創(chuàng)新互聯(lián)公司服務(wù)項目包括南芬網(wǎng)站建設(shè)、南芬網(wǎng)站制作、南芬網(wǎng)頁制作以及南芬網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,南芬網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到南芬省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
int?main(void)
{
char?s1[50],s2[50]={0};
int?n;
scanf("%d",n);
while(n--)
{
int?f;
char?*p=s1,?*q=s2;
int?t;
scanf("%s",s1);
while(ps1+40)
{
sscanf(p,?"%x",t);
if(t==0??f==0)
{
f=1;
}
else
{
sprintf(q,?"%X",?t);
while(*q)q++;
}
*q++=':';
p+=5;
}
*(q-1)=0;
puts(s2);
}
return?0;
}
C語言經(jīng)典的無損壓縮算法有:哈夫曼算法、LZ。
哈夫曼算法:
哈夫曼編碼是David A. Huffman于1952年發(fā)明的一種滿足對編碼算法要求的一種編碼算法。
哈夫曼算法是利用頻率信息構(gòu)造一棵二叉樹,頻率高的離根節(jié)點近(編碼長度短),頻率低的離根節(jié)點遠(編碼長度長),手動構(gòu)造方法是先將字母按照頻率從小到大排序,然后不斷選擇當前還沒有父節(jié)點的節(jié)點中權(quán)值最小的兩個,構(gòu)造新的父節(jié)點,父節(jié)點的值為這兩個節(jié)點值的和,直到構(gòu)造成一棵二叉樹。
LZ算法:
LZ算法及其衍生變形算法是壓縮算法的一個系列。LZ77和LZ78算法分別在1977年和1978年被創(chuàng)造出來。雖然他們名字差不多,但是算法方法完全不同。這一系列算法主要適用于字母數(shù)量有限的信息,比如文字、源碼等。流行的GIF和PNG格式的圖像,使用顏色數(shù)量有限的顏色空間,其壓縮就采用了兩種算法的靈活變形應(yīng)用。
首先選擇一個壓縮算法
然后按照算法實現(xiàn)壓縮代碼,調(diào)用接口就可以
常見的
可以使用哈夫曼編碼壓縮,或者使用開源的壓縮代碼,比如lzo,
gzip,
lzma等等。