diff options
Diffstat (limited to 'lcc/tst/cf.0')
-rwxr-xr-x | lcc/tst/cf.0 | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lcc/tst/cf.0 b/lcc/tst/cf.0 new file mode 100755 index 0000000..1c9226a --- /dev/null +++ b/lcc/tst/cf.0 @@ -0,0 +1,32 @@ +/* cf - print character frequencies */
+float f[128];
+
+main(argc, argv)
+int argc;
+char *argv[];
+{
+ int i, c, nc;
+ float cutoff, atof();
+
+ if (argc <= 1)
+ cutoff = 0.0;
+ else
+ cutoff = atof(argv[1])/100;
+ for (i = 0; i <= 127; )
+ f[i++] = 0.0;
+ nc = 0;
+ while ((c = getchar()) != -1) {
+ f[c] += 1;
+ nc++;
+ }
+ printf("char\tfreq\n");
+ for (i = 0; i <= 127; ++i)
+ if (f[i] && f[i]/nc >= cutoff) {
+ if (i <= ' ')
+ printf("%03o", i);
+ else
+ printf("%c", i);
+ printf("\t%.1f\n", 100*f[i]/nc);
+ }
+ return 0;
+}
|