ldiv()は、long整数の割算を行って商と余りを計算して返します。
#include <stdlib.h>
ldiv_t ldiv(long int numer, long int denom);
引数numerには割られる数、denomには割る数を指定します。この関数は商と余りが入っているldiv_t型の値を返します。
ldiv_tは次のように定義されていて、商はldiv_t.quot、余りはldiv_t.remで得ることができます。
typedef struct _ldiv_t {
int quot; /* 商(quotient) */
int rem; /* 余り(remainder) */
} ldiv_t;
次の例は、整数の割り算を行って余りを求めるプログラムの例です。
#include <stdlib.h>
#include <stdio.h>
#ifdef _MSC_VER
#pragma warning(disable : 6031)
#pragma warning(disable : 4996)
#endif
int main(int argc, char *argv[])
{
long int x,y;
ldiv_t ldiv_result;
printf("割られる数>");
scanf("%ld", &x);
printf("割る数>");
scanf("%ld", &y);
ldiv_result = ldiv(x, y);
printf("%d/%ld の商= %ld、余り= %ld\n", x, y, ldiv_result.quot, ldiv_result.rem);
return 0;
}