【发布时间】:2017-02-12 01:24:12
【问题描述】:
int main (void)
{
char input[99999];
int times=0;
int words=0,a=0;
while ((input[a]=getchar()) != EOF) // get input
{
a++;
}
for (int n=0;n<=a;n++)
{
if(input[n]<='z' && input[n]>='a' ){words++;}
}
float freq=times/words;
for(char letter ='a'; letter<='z'; letter++)
{
for (int n=0;n<=a;n++)
{
if(input[n]==letter){times++;}
}
printf( "%c %.4f\n", letter, freq);
}
}
我得到了结果:
asdf a
a 0.0000
b 0.0000
c 0.0000
d 0.0000
e 0.0000
f 0.0000
g 0.0000
h 0.0000
i 0.0000
j 0.0000
k 0.0000
l 0.0000
m 0.0000
n 0.0000
o 0.0000
p 0.0000
q 0.0000
r 0.0000
s 0.0000
t 0.0000
u 0.0000
v 0.0000
w 0.0000
x 0.0000
y 0.0000
z 0.0000
【问题讨论】:
-
编写一个程序,计算文本中字母出现的频率。
-
我不知道为什么 |if(input[n]==letter){times++;}|不工作
标签: arrays for-loop char compare