ソフトウェア開発 C言語

循環小数を求める

戻る


循環小数を求めるコードは以下の通り。

/* 循環小数を求める */
#include <stdio.h>

int main(void)
{
    int i;
    int a[10], n, d, q, r;

    /* 初期化 */
    for(i = 0; i < 10; i++)
        a[i] = 0;

    /* 入力 */
    printf("分子: ");
    scanf("%d", &n);
    printf("分母: ");
    scanf("%d", &d);

    q = n / d;
    r = n - q * d;
    printf("%d / %d = %d.", n, d, q);

    /* 余りがゼロになるまで繰り返す */
    while(r != 0)
    {
        n = r * 10;
        q = n / d;
        r = n - q * d;
        if (a[q] == 2)
        {
            /* 循環2回目のとき */
            printf("...");
            break;
        }
        a[q]++;
        printf("%d", q);
    }

    printf("\n");

    return 0;
}

ソース: recurdec.zip


国内格安航空券サイトe航空券.com

戻る

©片山博文MZ
katayama.hirofumi.mz@gmail.com

inserted by FC2 system