質問: データの個数を入力させ、その入力した要素全てと、その要素の合計を出力するプログラムを作成したいのですが、要素の合計が期待している数値と少し違います。 私は以下のようにプログラムしました。 ``` #include /* size個 の入力された実数データを 配列の先頭から順番に格納する */ void readDoubleArray(double a[], int size) { int i; for(i=0;i
回答: 関数`souwa`の中に二か所間違いがあります。 一つは、合計を入れる変数`s`を1で初期化していることです。ここは0でなければなりません。 もう一つは、`for`内のインデックスを1から始めていることです。 結果的に、初期値の1に、配列の二番目から最後までを合計していて、 ``` 1 + 4 + 6 + 8 = 19 ``` になっています。正しくは ``` double souwa(double a[], int size) { int i; double s; s=0.0; // ここ for(/*ここ*/i=0;i