配列の要素数の平均を求める関数を作っています。以下のようなコードで変数sを導入し、for文中で合計を求め、このsを使ってfor文を抜けたところで平均を求めようとしたのですが、s=0と認識されてしまい、実行の結果平均は0と表示されてしまいます。この場合、変数の設定場所が間違っているのでしょうか。それとも、合計を求める変数と平均を求める変数で分けなければいけないのでしょうか。
よろしくお願い致します。
c
1#include <stdio.h> 2#define ARRAY_SIZE 10 3 4double ave(double dt[], int n); 5 6double ave(double dt[], int n) { 7 8 int s = 0; 9 10 for (int i = 0; i < n; i++) { 11 12 s += dt[i]; 13 } 14 return s / n; 15 16} 17 18int main (void) 19{ 20 double dt[ARRAY_SIZE] = { 1 }; 21 22 for (int i = 0; i < ARRAY_SIZE; i++) { 23 dt[i] = i; 24 } 25 26 for (int i = 0; i < ARRAY_SIZE; i++) { 27 printf("%f\n", dt[i]); 28 } 29 30 printf("%f\n", ave(dt, ARRAY_SIZE)); 31 32 return 0; 33} 34
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/04 00:40
2019/01/04 00:43
2019/01/04 00:45
2019/01/04 00:59
2019/01/04 01:04
2019/01/05 08:02