- 74 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:28:59 ]
- >>63
#include <stdio.h> #include <math.h> int fac(int i) { return i == 1 ? 1 : i * fac(i-1); } double mypow(double x, int n) { return n == 0 ? 1 : x * mypow(x, n-1); } double sine(double x) { int i, flg = 1; double ret = 0; for(i=0; i<5; i++, flg *= -1) ret += mypow(x, i*2+1) / fac(i*2+1) * flg; return ret; } int main(void) { int i; puts("+----------+----------+----------+----------+----------+"); puts("|x(degree) |x(radian) | sine(x) | sin(x) | dif |"); puts("+----------+----------+----------+----------+----------+"); for(i=0; i<=360; i+=15) { double r = i * M_PI / 180; double s1 = sine(r), s2 = sin(r); printf("|%-10d|%8.4f |%8.4f |%8.4f |%8.4f |\n", i, r, s1, s2, fabs(s1-s2)); } puts("+----------+----------+----------+----------+----------+"); return 0; }
|

|