|
|
1.1 ! root 1: /* cf - print character frequencies */ ! 2: float f[128]; ! 3: ! 4: main(argc, argv) ! 5: int argc; ! 6: char *argv[]; ! 7: { ! 8: int i, c, nc; ! 9: float cutoff, atof(); ! 10: ! 11: if (argc <= 1) ! 12: cutoff = 0.0; ! 13: else ! 14: cutoff = atof(argv[1])/100; ! 15: for (i = 0; i <= 127; ) ! 16: f[i++] = 0.0; ! 17: nc = 0; ! 18: while ((c = getchar()) != -1) { ! 19: f[c] += 1; ! 20: nc++; ! 21: } ! 22: printf("char\tfreq\n"); ! 23: for (i = 0; i <= 127; ++i) ! 24: if (f[i] && f[i]/nc >= cutoff) { ! 25: if (i <= ' ') ! 26: printf("%03o", i); ! 27: else ! 28: printf("%c", i); ! 29: printf("\t%.1f\n", 100*f[i]/nc); ! 30: } ! 31: return 0; ! 32: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.