n 次近似した値を返す関数として myexp を作りたく下記のプログラムを作ったのですがeの値がinfとなり上手く出来ません。どのように修正を考えれば宜しいでしょうか?
#include <stdio.h> #include <math.h> #define N 1 double k(int x) { int i,k,l; k=x; l=x; for(i=0;i<x;i++){ k=k*l; l=l-1; } return k; } double myexp(double x,int n) { int i; double y; double e; e=0; y=pow(x,i); for(i=0;i<N;i++){ e=e+(y/(k(i))); } return e; } int main(void) { double e; e=myexp(1,N); printf("e=%.10f\n",e); return 0; }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/05 10:10