我遇到的问题是输入重定向似乎对我不起作用。所有程序都应该读取一个txt文件,并计算每个ASCII字符的频率。虽然,如果我这样做./freq< text.txt,它不起作用。
#include <stdio.h>
#include <stdlib.h>
#define MAX_CHAR 255
#define PERCENTAGE100 100
int main (int argc, char* argv[]) {
int c;
double counter = 0;
double letter[MAX_CHAR] = {0};
while ((c = getchar()) !='\n') {
letter[c]++;
counter++;
}
c=0;
while (c < MAX_CHAR) {
double percentage = (letter[c]/counter) * PERCENTAGE100;
printf("For %c, frequency is %.0f, total percent is %.2f \n", c, letter[c], percentage);
c++;
}
return EXIT_SUCCESS;
}