#!/usr/local/bin/tcc -run #include #include #include #define NUM 11 // 母集団数は11 typedef struct _people{ int height; int weight; }people; // 身長、体重を有するpeople という名の構造体を定義 void cal_MAX(people data[]){ // 身長、体重の最大値を計算 int hMAX = data[0].height; // 身長の最大値を仮定 int wMAX = data[0].weight; // 体重の最大値を仮定 int i;// カウンタ for(i=0; i data[i].height){ hmin = data[i].height; // 身長の最小値を更新 } if(wmin > data[i].weight){ wmin = data[i].weight; // 体重の最小値を更新 } } printf("%d 人の身長の最小値は%d[cm]、体重の最小値は%d[kg]\n", NUM, hmin, wmin); // 身長、体重の最小値を表示 } void cal_Med(people data[]){ int hTmp, wTmp, hMed, wMed; int i, j;// カウンタ for(i=0; i data[j + 1].height){ /* 前の要素が大きかったら*/ hTmp = data[j].height; /* 並べ替え*/ data[j].height = data[j + 1].height; data[j + 1].height = hTmp; } if(data[j].weight > data[j + 1].weight){ wTmp = data[j].weight; data[j].weight = data[j + 1].weight; data[j + 1].weight = wTmp; } } } hMed = data[ NUM / 2 + 1/ 2].height; // 身長の中央値を計算 wMed = data[ NUM / 2 + 1/ 2].weight; //体重の中央値を計算 printf("%d 人の身長の中央値は%d[cm]、体重の中央値は%d[kg]\n", NUM, hMed, wMed); // 身長、体重の中央値を表示 } void cal_Mean_STDEV_CC(people data[]){ // 身長・体重の平均値、標準偏差、相関係数を計算、表示する関数 double h_Sum = 0.0, xh_Sum = 0.0, w_Sum = 0.0, xw_Sum = 0.0, xhw_Sum; // 身長の和・平方和、体重の和・平方和、身長と体重の積和の変数 double h_Mean = 0.0, w_Mean = 0.0; // 身長・体重の平均値の変数 double hDisp = 0.0, wDisp = 0.0, hSTDEV = 0.0, wSTDEV = 0.0; // 身長・体重の分散、標準偏差の変数 double Cov = 0.0, CC = 0.0; // 身長・体重の共分散、相関係数の変数 int i; // カウンタ for(i=0; i