ページ 11

分数の入力方法

Posted: 2012年10月26日(金) 00:20
by fsuhkudna
c言語で分数を入力したいのですが、scanfだとうまくいかないのですが何か方法はありますか。

コード:

#include <stdio.h>

int main(void){
	double a;
	scanf("%lf", &a);
	printf("%f\n", a);
	return 0;
}

Re: 分数の入力方法

Posted: 2012年10月26日(金) 00:51
by nil
scanfには分数を字数として読み取る機能はありませんので、
自分でどうにかしてやる必要があります。

コード:

int a=0,b=0;
scanf( "%d/%d", &a, &b );
printf( "%f\n", (double)a/b );
なんていうのはどうでしょう。

Re: 分数の入力方法

Posted: 2012年10月26日(金) 08:20
by 初級者
参考になるかどうかは全くわかりません。

コード:

#include <stdio.h>

int main(void)
{
    int bunshi, bunbo;
    double bunsuu;

    do {
        printf("分子/分母の形で分数を入力:"), scanf("%d/%d", &bunshi, &bunbo);
    } while (bunbo == 0);
    printf("%d/%d=%f\n", bunshi, bunbo, bunsuu = (double) bunshi / bunbo);
    return 0;
}
# 一つの文で「ですが」を連発すると、読みにくくて仕方がない。下手くそな文の典型。

Re: 分数の入力方法

Posted: 2012年10月27日(土) 04:29
by fsuhkudna
前の方へ
ということは分数と小数を同時に入力できる方法は簡単には実装できないんですね。
ありがとうございました。

後の方へ
いちいちへたくそな文と言うとは失敬ですね。
あなたの回答は前の方とほとんど同じで参考になりませんでした。