📄 bianma.c.txt
字号:
#include <stdio.h>
#define max 1200
#define null 0
typedef struct lnode{
char zimu;
int data;
int pa,lc,rc;}lnode,*linklist;
main()
{FILE *fp;
lnode t[60];
linklist p;
int i,j,k,x1,x2,m1,m2,n=27,f,r=0,c,v,z,m;
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'},
b[]={'t','h','i','s',' ','p','r','o','g','r',
'a','m',' ','i','s',' ','m','y',' ','f','a','v','o','r','i','t','e'};
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},e[100],d[100];
p=(linklist)malloc(sizeof(lnode));
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];
}
else{t[i].zimu='#';
t[i].data=0;
}
}
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;
}
for(i=0;i<=26;i++)
for(j=1;j<=27;j++)
if (b[i]==t[j].zimu)
{ printf(" %d %d %c",i,j,t[j].zimu);
v=0,z=0;
while(t[j].pa!=0)
{
f=t[j].pa;
p->zimu=t[f].zimu;
p->data=t[f].data;
p->lc=t[f].lc;
p->rc=t[f].rc;
p->pa=t[f].pa;
if(p->lc==j)
c=0;
else c=1;
printf("%d",c);
j=f;
r++;
v++;
d[r]=c; }
for(m=r-v+1;m<=r;m++)
{
e[m]=d[r-z];
z++;}
printf("\n");
}
printf("%d",r);
if((fp=fopen("codefile","wb"))==null)
printf("can not open file");
for(i=1;i<=r;i++)
{printf("%d",e[i]);
fputc(e[i],fp);}
fclose(fp);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -