文档介绍:实验一统计26个字母出现的频率和赫夫曼编码
044080618 唐海伟
初步统计26个字母在英文文章中出现的频率
统计26个字母的C语言源程序
/* 字母频率 */
#include <>
#include <>
int main()
{
FILE *fp;
int a[26],i,j;
char p=' ';
j=0;
for(i=0;i<26;i++)
a[i]=0;
fp=fopen("E:\\abcd-1\\","r");
p=getc(fp);
while(p!=EOF)
{
if(p>='a'||p<='z')
a[(p-'a')]++;
if(p>='A'||p<='Z')
a[(p-'A')]++;
p=getc(fp);
}
fclose(fp);
for(i=0;i<26;i++)
printf("%c or %c=%d\n",'a'+i,'A'+i,a[i]);
printf("\n\n\n");
for(i=0;i<26;i++)
j=j+a[i];
for(i=0;i<26;i++)
printf("%c or %c's frequency =%f%%\n",'a'+i,'A'+i,*a[i]/j);
printf("\n\n End! \n\n\n");
return 0;
}
选择英文文章:长篇著名小说:little women
统计结果
a or A=13066
b or B=2441
c or C=3317
d or D=8001
e or E=19861
f or F=3445
g or G=3848
h or H=10015
i or I=10328
j or J=470
k or K=1668
l or L=7201
m or M=4103
n or N=10679
o or O=12231
p or P=2683
q or Q=166
r or R=9508
s or S=9827
t or T=13521
u or U=4732
v or V=1370
w or W=3815
x or X=168
y or Y=3792
z or Z=70
a or A's frequency =%
b or B's frequency =%
c or C's frequency =%
d or D's frequency =%
e or E's frequency =%
f or F's frequency =%
g or G's frequency =%
h or H's frequency =%
i or I's frequency =%
j or J's frequency =%
k or K's frequency =%
l or L's frequency =%
m or M'