答えがおかしい
配列と関数を使って教科ごとの平均点を求めるC言語のプログラムを
作りました。しかし、結果がおかしくいろいろ考えてみたのですが、
よくわからないので質問に出すことにしました。
作ったものは以下です。どうすればよいでしょうか?
#include <stdio.h>
#define NUMBER 3
/*--- 要素数noの配列の平均値を求める ---*/
double ave_of(int vb[], int no)
{
int i, sum, ave;
for (i=1;i<no; i++)
sum+=vb[i];
ave=(double)sum/NUMBER;
return(ave);
}
int main(void)
{
int i;
int a[NUMBER];
int b[NUMBER];
int c[NUMBER];
double ave_a, ave_b, ave_c;
printf("%d人の点数を入力してください。\n",NUMBER);
for(i=0;i<NUMBER; i++){
printf("[%d番]理科:",i+1); scanf("%d",&a[i]);
printf(" 数学:"); scanf("%d",&b[i]);
printf(" 社会:"); scanf("%d",&c[i]);
}
ave_a=ave_of(a, NUMBER);
ave_b=ave_of(b, NUMBER);
ave_c=ave_of(c, NUMBER);
printf("【理科】平均点:%.1f\n", ave_a);
printf("【数学】平均点:%.1f\n", ave_b);
printf("【社会】平均点:%.1f\n", ave_c);
return(0);
}
結果は例えば45.2 というような感じで出したいです。
お礼
ご回答ありがとうございます。 >去年7月ごろから事実上の引退状態(自主休業)だったそうです。 昨年2月発売のトレーディングカードのおまけのCD-ROMがビデオテープに変更されるなどで揉めている時から、ずーっと休業だったのは存知あげています。 2/15のフライデーは見ていないと思いますので、見出しなどはわからないでしょうか?