帮忙调试一下程序~~~~谢谢,在线等待

来源:百度知道 编辑:UC知道 时间:2024/06/06 13:53:08
下面的程序中有3个错误~~~~帮忙修改一下,
需求分析
1编制一个可进行传数据编码及接受数据译码的编/译系统
2用Huffman树给出Huffman编码
3测试数据
用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“THIS PROGRAM IS MY FAVORITE”。
#include<stdio.h>
#include <string.h>
#define MAX 80
typedef struct{
char data;
int weight;
int parent;
int left;
int right;
} huffnode;
typedef struct {
char cd[MAX];
int start;
}huffcode;
void main()
{
huffnode ht[2*MAX]; //定义变量
huffcode hcd[MAX],d;
char s[100];
char datacode[1000];
char *p;
int i,k,f,l,r,n,m,c,m1,m2,count,t,sum;
printf("元素个数: "); //输入结点信息
scanf("%d",&n);
m=2*n-1;
for(i=1;i<=n;i++)
{
getchar();
printf("第%d个元素 =>\t 结点值: ",i);
scanf("%c",&ht[i].data);
printf("\t 权重: ");
scanf("%d",&ht[i].weight);<

char code[MAX];//这里加入这一句就可以了.
  以下是完整内容:

  #include<stdio.h>
  #include <string.h>
  #define MAX 80
  typedef struct{
  char data;
  int weight;
  int parent;
  int left;
  int right;
  } huffnode;
  typedef struct {
  char cd[MAX];
  int start;
  }huffcode;
  void main()
  {
  huffnode ht[2*MAX]; //定义变量
  huffcode hcd[MAX],d;
  char s[100];
  char datacode[1000];
  char *p;
  int i,k,f,l,r,n,m,c,m1,m2,count,t,sum;
  printf("元素个数: "); //输入结点信息
  scanf("%d",&n);
  m=2*n-1;
  for(i=1;i<=n;i++)
  {
  getchar();
  printf("第%d个元素 =>\t 结点值: ",i);
  scanf("%c",&ht[i].data);
  printf("\t 权重: ");
  scanf("%d",&ht[i].weight);
  }
  for(i=1;i<=2*n-1;i++) //初始化
  ht[i].parent=ht[i].left=ht[i].right=0;

  for(i=n+1;