只是想知道爲什麼這不起作用。我想使用getchar()讀取輸入並打印字符,百分比/ 100,然後打印頻率。例如對於每個字符z,hallo將打印: 'a'0.200000 1 等等。 它接受輸入,但犯規打印任何東西:打印一個字符串的字母頻率
#include <stdio.h>
int main (void) {
double array[26] = {0};
int i=0;
double count=0;
int j =0;
int start = 'a';
int point = 0;
while (i != EOF) {
i=getchar();
if(i>='a' && i<='z' && i!=-1) {
point= i-'a';
array[point] = array[point] +1;
count= count+1;
}
else if(i>='A' && i<='Z' && i!=-1) {
point = i - 'A';
array[point] = array[point] +1;
count= count+1;
}
}
while (j<=25) {
printf("'%c' %.6f %.0f", start, (count/array[j]), array[j]);
j++;
start++;
}
}
注:'I = - 1'不需要在'如果(ⅰ> = 'A' && I <= 'Z' &&我! = -1)'。 'A-Z'不能有負值。 – chux