K&Rの演習問題1-13をやっているのですが、(先には進んでますが、ここだけが引っ掛かってます)

格納された数をヒストグラム風に出力してみようと思い、

( 0, * *
  1, * * * * * *・・・・ というふうに)

色々試したのですが、どうも上手くいきません。
ndigit[c - '0']で数を格納したときに、ヒストグラム部でも" *"を足していけばいいのかなと思いましたが
上手いコードが書けず、
結局、ndigit[1]、ndigit[2]、・・・・とイチイチ一つづつ格納されている数を見させながら

n = 0;
while(ndigit[1] > n) {
    n++;
    printf(" *");
      if(n == ndigit[1])
printf("\n");
 }

こんな感じで
ヒストグラムを表示させる方法しかできませんでした。
理想的なコードはどのようなものなのでしょうか。