要素の平均と和を返す関数。
0番目からn−1番めまでの要素の平均と和について出力したいのですが、やりかたがイマイチわかりません。
1+2+3+4+・・・+nのように順番に足していくプログラムの書き方は理解しているつもりなのですが、端末にランダムに数字を入力させ、その和と平均を出力させるプログラムを書く方法がわかりませんでした。
以下のようにプログラムを入力したのですが、おそらく、sumIntArrayの部分が間違っていると思われるのと、/........./の部分に何をプログラムするべきかわかりませんでした。
void readIntArray(int a[], int size)
{
int i;
for(i=0;i<size;i=i+1) {
printf("%d番目?",i=i+1);
scanf("%d",&a[i]);
}
printf("%d",a[i]);
}
void sumIntArray(int a[], int size)
{
int sum,i;
for(i=0;i<size;i=i+1) {
sum=sum+i;
}
return sum;
}
int main(void)
{
int data[100], n, sum;
double average;
printf("n=? ");
scanf("%d", &n);
readIntArray(data, n);
sum = sumIntArray(data, n);
printf("sum = %d\n", sum);
/......................./
return 0;
}
実行例は、次のようになれば良いです。
$ ./a.out
n=? 5
0 番目? 2
1 番目? 3
2 番目? 5
3 番目? 7
4 番目? 11
sum = 28
average = 5.600000