久野です。

n0410272@nature.tsukuba.ac.jpさん:
> 私はC言語を初めてまもないものです。

  おつかれ様です。

> 一文字入力してエンターを押すと、行程が一つ跳んでしまうようです。
> 問題はgetchar の使い方にあるか、またはgetcharを使うこと自体に
> あるか、とは思うのですが、どのようにしたらよいかわかりません。

  ENTER(RETURN)キーも1文字に相当しますから。

>     printf ("Q1. ");
>     g = getchar ();
>     if (g == 'y'){
>       i++;
>     }
>     if (g == 'n'){ 
>       j++;
>     }
>     if (g == '0'){
>       k++;
>     }

  たとえばこの個所に「while(g != '\n') g = getchar();」を入れて
改行文字まで読み飛ばすとか。

>   }

        行入力モデルならfgets()を使う方がいいのかも。      久野