使用函数解决C

时间:2017-06-22 01:26:52

标签: c function sin cos exp

我的教授给了我一个令人困惑的问题,我完全不知道该做什么。基本上他希望我不使用内置的math.h函数来解决cos(x)和exp(x)(他为sinx提供了一个例子)。不仅如此,他还希望我使用fact()和power()函数来解决它。我很可能通过直接数学解决它,但我在使用这些函数时有点迷失。我理解一般的概念,但我很厌倦数学(特别是trig),而且我并不完全确定它们的功能在算术上是做什么的。任何帮助或指向正确的方向将不胜感激。

#include <stdio.h>
#include <math.h>

int main()
{
    char    more;
    double  x, mySin(), myCos(), myExp();


    printf("\n\n\t\tInput X: ");
    scanf("%lf", &x);

  do {
    printf("\n\n\t\t\tLibraryResult     MyResult");
    printf("\n\n\tsin< %5.2f>    %7.5f     %7.5f", x, sin(x), mySin(x));
    printf("\n\n\tcos< %5.2f>    %f     %f", x, cos(x), myCos(x));
    printf("\n\n\texp< %5.2f>    %f     %f", x, exp(x), myExp(x));
    printf("\n\n\t\tDo More (Y/N)? ");
    scanf("%s",&more);
  }
    while (more == 'y'||more == 'Y');
}
double power(double x, int n)
{
    int     i = 0;
    double  prod = 1.;

    for ( ; i++ < n; )
        prod = prod * x;

    return prod;
}
double fact (int n)
{
    int     i;
    double prod = 1.;

    for (i = 1; i <= n; i++)
        prod = prod * i;

    return prod;
}
double mySin(double x)
{
    int     i, sign;
    double  sum = 0;

    for (i = 0, sign = 1; i < 21; i++, sign = -sign)
        sum = sum + sign * power(x, 2 * i + 1)/ fact(2 * i + 1);
    return sum;
}
double myCos(double x)
{


}
double myExp(double x)
{



} 

0 个答案:

没有答案