質問: mean + ondo[i]; } /* if((i+1)%4==0) { printf("\n"); } */ printf("平均%.1f度",mean/i); return 0; } ``` ちなみに、途中に書いてある ``` if((i+1)%4==0) { printf("\n"); } ``` は、課題のヒントの中にあったものです。どこに使えばいいのかわからないので /**/ で囲んでおきました。
回答: 課題のヒントから察するに、**scanfを改行なしで入力することは求められておらず**、提示されている実行結果は、scanfで(改行を伴いながら)入力したforループを完了した後に、**もう一度forループを回して**、printfで1か月ごとの気温データを(改行しないで)表示し、i の値が 3, 7, 11 のときには改行を加えるという処理によって表示されるものだと考えられます。 ``` for (i = 0; i < 12; i++) { printf("%d月: ", i + 1); scanf("%f", &ondo[i]); mean = mean + ondo[i]; } printf("各月の気温データ \n"); for (i = 0; i < 12; i++) { printf("%d月: %4.1f ", i + 1, ondo[i]); if ((i + 1) % 4 == 0) { printf("\n"); } } ``` なお、Enterキーを使わずに即時入力する方法はありますが(cursesを使うとか)、この課題のレベルでそれが求められるとは思えません。