/* 逐次平均 静的変数 */ #include double seqavg_static(double data); int main() { int n=0; /* データの個数 */ double indata, avg; while(1) { printf("入力データ:"); if (scanf("%lf",&indata)!=1) break; avg=seqavg_static(indata); n++; printf("データ数:%d, 平均:%f\n",n,avg); } printf("\n最終結果はデータ数%dで、平均値%fでした\n",n,avg); return 0; } double seqavg_static(double data) { static int n=0; static double avg=0; avg=(avg*n+data)/(n+1); n++; return avg; }