C言語での実装
#include <stdio.h>
/* ---------------------------------------------
最大値を求める
引数1: a 入力配列
引数2: n 配列の要素数
戻り値 最大値
---------------------------------------------*/
double max(const double *a, int n)
{
int i;
double max;
if ( n < 1 ) return 0.0;
max = a[0];
for (i = 1; i < n; i++) {
if ( max < a[i] ) max = a[i];
}
return max;
}
/* ---------------------------------------------
最小値を求める
引数1: a 入力配列
引数2: n 配列の要素数
戻り値 最小値
---------------------------------------------*/
double min(const double *a, int n)
{
int i;
double min;
if ( n < 1 ) return 0.0;
min = a[0];
for (i = 1; i < n; i++) {
if ( min > a[i] ) min = a[i];
}
return min;
}
/* main */
int main(void)
{
double numbers[] = {1.0, 2.0, 3.0};
double max_val, min_val;
max_val = max(numbers, 3);
min_val = min(numbers, 3);
printf("最大値:%f\n", max_val);
printf("最小値:%f\n", min_val);
return 0;
}
実行例
最大値:3.000000
最小値:1.000000
0 件のコメント:
コメントを投稿