?? main.c
字號:
//-------------哈弗曼編碼--------
//作者:kenneth
//時間:11.26
//修改時間:12.1
#include "pubuse.h"
#include "HuffmanDef.h"
#include "HuffmanAlgo.h"
void main(void)
{
FILE *fp=fopen("Plain_Coding.txt","w");
FILE *fp1=fopen("Coding.txt","w");
int i;
int n; //字符種數
char Telegram[NM]; //電文總數NM個;
printf("***************************信息論編碼上機試驗***********************\n");
printf(" ************************ --哈弗曼編碼***************\n");
printf(" --通信10601\n");
printf("請輸入組成電文的英文種數:\n");
scanf("%d",&n);
printf(" \n");
printf("請輸入由 %d 種英文字符組成的電文:\n",n);
InitT(n); //初始化
scanf("%s",Telegram);
if(Check_Character(Telegram))
{
printf("您輸入的字符為非法字符!請重新輸入由 %d 個英文字符組成的電文:\n",n);
scanf("%s",Telegram);
}
//自動獲得字符權值進行編碼
//GetNode_W_D(Telegram,n);
//手動輸入字符概率進行編碼
Get_P(Telegram,fp,n);
printf("\n各字符及其權值(概率)如下:\n");
for(i=0;i<n;i++)
{
printf("%c\t",T[i].data);
printf("%f\t",T[i].weight);
}
HuffmanCoding(T,n);
GetNodeCode(T,n);
printf("\n各結點的哈夫曼編碼:\n");
for(i=0;i<n;i++)
printf("第%d個字符 %c 的編碼:%s\n ",i,T[i].data,T[i].code);
Get_Telegram_Code(Telegram,fp1,n);
printf("哈弗曼編碼完成! ! !\n");
getch();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -