>>990
#include <stdio.h>
#include <math.h>
int func1(int n) // (-1)^nを計算する
{
 return (int)pow(-1, n);
}
double func2(int n, double x) // {(-1)^(n-1)・x^(2n-1)}/(2n-1)!を計算する
{
 double r = func1(n-1)*pow(x, (2*n-1));
 int i;
 for (i=2*n-1; i>1; i--) r /= i;
 return r;
}
double func3(double x, int max) // sin xを計算する
{
 double r=x;
 int i;
 for (i=2; i<max; i++) r += func2(i, x);
 return r;
}
int main()
{
 double x;
 printf("x=");
 scanf("%lf", &x);
 printf("sin(%g) = %g", x, func3(x, 100));
 return 0;
}
オーバーフローはシラネ('A`)