⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shu.c.txt

📁 用C编程实现对26个字母用于电报打字的优先权进行编程
💻 TXT
字号:
#include <stdio.h>
#define max 1200
#define NULL 0
typedef struct lnode{
char zimu;
int data;
int pa,lc,rc;}lnode,*linklist;
main()
{lnode t[60];
FILE *fp;
int i,j,k,x1,x2,m1,m2,n=27;
char a[27]={' ','a','b','c','d','e',
	   'f','g','h','i','j','k',
	    'l','m','n','o','p','q',
	    'r','s','t','u','v','w',
	   'x','y','z'};

 int w[27]={186,64,13,22,32,
           103,21,15,47,57,
          1,5,32,20,57,
          63,15,1,48,51,
          80,23,8,18,1,
           16,1};
for(i=1;i<(2*n);i++)
   {t[i].pa=t[i].lc=t[i].rc=0;
     if(i<=n)
       {t[i].zimu=a[i-1];
       t[i].data=w[i-1];
       printf("%c",t[i].zimu);
       printf("%d\n",t[i].data);
                       }
     else{t[i].zimu='#';
	   t[i].data=0;
	   printf("%s",t[i].zimu);
	   printf("%d",t[i].data);
                       }
                        }
   for(i=1;i<n;i++)
      {m1=m2=max;
       x1=x2=0;
       for(j=1;j<(n+i);j++)
          {if((t[j].data<m1)&&(t[j].pa==0))
             {m2=m1;x2=x1;
              m1=t[j].data;x1=j;}
            else if((t[j].data<m2)&&(t[j].pa==0))
                 {m2=t[j].data;
                     x2=j;
                           } }
          k=n+i;
          t[x1].pa=t[x2].pa=k;
          t[k].data=m1+m2;
          t[k].lc=x1;
         t[k].rc=x2;
			 }
if((fp=fopen("hfmtree","w"))==NULL)
printf("can not open file\n");
for(i=1;i<(2*n);i++)
 if(t[i].pa!=0)
     {fputc(t[i].zimu,fp);
	 printf("%c  ",t[i].zimu);
       fputc(t[i].data,fp);
	   printf("%d  ",t[i].data);
	 fputc(t[i].pa,fp);
	 printf("%d  ",t[i].pa);
	 fputc(t[i].lc,fp);
	 printf("%d  ",t[i].lc);
	  fputc(t[i].rc,fp);
	  printf("%d  ",t[i].rc);
	  printf("\n");}
fclose(fp);}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -