📄 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 + -