重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

刻み幅dxを入力し、f(x)=4/(1+x^2)を0~1まで定積分するというプログラムを作ったんですが、なぜか、刻み幅を入力してENTERを押すと、
ずら~~~~~っと無限に結果の文字列が出てきてしまいます。
書いたプログラムを載せるので、間違っている箇所を教えてもらえませんか。お願いします。

#include <stdio.h>
#include <math.h>
double f(double m);

main(){

double x,F,dx;

printf("Numerical integration of y=4/(1+x^2).\n");

/*刻み幅の入力*/
scanf("%lf,&dx:");


/*aとbと刻み幅*/
printf("The lowwer bound:0.0\n");
printf("The upper bound:1.0\n");
printf("The meth width:dx\n");

/*関数*/
for(x=0.0;x<1.0;x+=dx)
{
F=f(x);


/*計算結果を出力*/
printf(" f(%lf)= 4/(1+x^2) =%lf\n",x,F);
}
}

double f(double m)
{
double y;
y=4/(1+m*m);
return y;
}

A 回答 (1件)

個人的に時間が無いので一言。



scanf
    • good
    • 0
この回答へのお礼

お礼遅くなってすいません。
ありがとうございました。
確かにscanfの中の”の場所が違いました。
参考になりました。

お礼日時:2008/02/12 00:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!