我的代码是
#include <stdio.h>
#include <ctype.h>
main() {
int nwords[10];
int c;
int i;
int firstLetter;
c=0;
i=0;
firstLetter=0;
while ((c = getchar()) != EOF) {
if (isalpha(c)) {
firstLetter = 1;
i++;
}
if (firstLetter != 0) {
nwords[i]++;
i=0;
}
}
for (i=0; i<10; i++) {
printf("%d, ");
while (nwords[i] > 0) {
printf("=");
-- nwords[i];
}
if (nwords[i] == 0) {
printf("/n");
}
}
}
我希望ouptut是一个水平直方图,显示输入文件中字长的频率,如下所示:
10 ===
9 ==
8
7 ====
6 =
5 ======
4 ===
3 =
2 =
1 =
但相反,我的程序会阻止空格键直到我必须杀死它。
我做错了什么?谢谢。
答案 0 :(得分:0)
$f
更改for (i=0; i<10; i++)
printf("%d, ")
后,将变量的值替换为printf("%d", variable)
。%d
替换为printf("/n");
答案 1 :(得分:0)
除了surjit的回答,您需要进行以下更改:
int nwords [10] = {0};