質問: 0番目からn−1番めまでの要素の平均と和について出力したいのですが、やりかたがイマイチわかりません。 1+2+3+4+・・・+nのように順番に足していくプログラムの書き方は理解しているつもりなのですが、端末にランダムに数字を入力させ、その和と平均を出力させるプログラムを書く方法がわかりませんでした。 以下のようにプログラムを入力したのですが、おそらく、sumIntArrayの部分が間違っていると思われるのと、/........./の部分に何をプログラムするべきかわかりませんでした。 ``` void readIntArray(int a[], int size) { int i; for(i=0;i
回答: 以下の様な点を元にプログラムを見直してください。 * 前質問 要素を逆順に格納する手続きについて に付いた @metropolis さんのコメントと同じ内容 `readIntArray()`関数内の`printf("%d番目?",i=i+1);`は`printf("%d番目?", i+1);` * `readIntArray()`関数最後の`printf("%d",a[i])`は意味不明 * `sumIntArray()`関数の定義と処理が間違い + 戻り値は`void`ではなく`int` + 変数`sum`を0で初期化していない + `for`ループ内の処理がインデックス値の加算になっているのをデータの加算に修正 * `double`値で表現される平均を得るためには、合計値とデータ数を`double`でキャストして計算 * `double`値を`printf()`で表示するための指定方法は、使用している参考書を見るとかWebで検索