以下のプログラムはグローバル変数に定義され、初期化された 10個の int型データの合計、平均、分散、標準偏差を求めて表示するプログラムである。
このプログラムを以下のような関数を用いて書き換えよ。
return型 | 関数名 | 引数 | 機能 |
int | get_goukei | なし | 合計を求めて返却する |
double | get_bunsan | 平均値 | 分散を求めて返却する |
なお、n件のデータの分散と標準偏差を求める式は以下である。
分散 = { (要素0 - 平均値)2 + (要素1 - 平均値)2 +・・・+ (要素n-2 - 平均値)2 + (要素n-1 - 平均値)2 } / n 標準偏差 = √分散
#include <stdio.h> #include <math.h> #define N 10 int data[N] = { 80, 76, 59, 87, 66, 54, 40, 78, 94, 61 }; int main( void ) { double heikin, bunsan = 0.0, hensa; int goukei = 0; int i; for ( i = 0; i < N; i++ ) { goukei = goukei + data[i]; } heikin = ( double ) goukei / N; for ( i = 0; i < N; i++ ) { bunsan = bunsan + ( data[i] - heikin ) * ( data[i] - heikin ); } bunsan = bunsan / N; hensa = sqrt( bunsan ); printf( "合計点 : %d\n", goukei ); printf( "平均点 : %f\n", heikin ); printf( "分散 : %f\n", bunsan ); printf( "標準偏差 : %f\n", hensa ); return 0; }
【問1】のグローバル変数を main()関数のローカル変数に書き換えてプログラムを作り直せ。
get_goukei() と get_bunsan() の return型と引数は都合のよいように書き換えよ。
【問1】 【問2】の実行結果 合計点 : 695 平均点 : 69.500000 分散 : 243.650000 標準偏差 : 15.609292
▼戻る▼
「初心者のためのポイント学習C言語」 Copyright(c) 2000-2004 TOMOJI All Rights Reserved