Willst du uns veräppeln?
Das Programm liest zeichenweise ein und untersucht dann, ob das eingegebene Zeichen eine Ziffer, Whitespace oder ein anderes Zeichen ist. Weit und breit keine Spur von Wörtern, deren Länge, oder gar einem Histogramm. Das Programm löst womöglich eine Aufgabe, aber nicht deine.
Daher vermute ich auch, dass du es nicht selbst geschrieben, sondern nur irgendwo kopiert hast.
Siehe oben. Das Programm hat nichts mit deiner Aufgabenstellung zu tun.
Du brauchst ein int-Array für die statistischen Daten. Und du musst Wörter einlesen, keine Zeichen. Also weg mit getchar. fgets von STDIN (bitte nicht gets), oder auch einfach scanf. Dann prüfst du die Länge des eingegeben Wortes, und inkrementierst den dazugehörigen Wert in deinem Array.
Mach das erst mal so weit, dann kümmern wir uns um die Ausgabe.