8.2 算術関数
算術演算に使える関数の代表的なものを示しておきます。
abs 絶対値を求める
#include <stdlib.h> int abs(int x)
第一引数の絶対値を返します。
実数、それも double 型用の絶対値取得のための関数は fabs() です。実数、それも float 型の絶対値を求めるためには fabsf() が用意されています。
rand 乱数を求める
#include <stdlib.h> int rand()
呼び出すたびにランダムに異なる数値(乱数といいます)を返します。引数はなく、返す値の幅は 0〜2の31乗(2147483648)未満です。
ただしこれは疑似乱数と呼ばれる種類の乱数で、最初に srand() 関数を利用して、乱数発生の種(seed)を初期値として設定する必要があります。
srand 乱数の種を与える
#include <stdlib.h> srand(int seed)
rand() 関数に必要な疑似乱数を発生させるための種(seed)を整数型の引数ととして与えます。戻り値はありません。
具体的には以下のような組み合わせで使います。最初に一度 srand() をランダムな数値で呼び出し(例では利用者が手で思いついた数字を入力する)、それ以降繰り返して rand() 関数を呼べば、そのたびごとに違う結果が得られます。
#include <stdio.h> #include <stdlib.h> main() { int seed, i, r; printf("please set the seed :"); scanf("%d",&seed); srand(seed); /* seed の設定 */ for(i=0;i<10;i++) { r=rand(); printf("%d\n", r); } }