如何在C中使用三角函数?

时间:2018-03-26 18:49:11

标签: c function mapping trigonometry

我需要在我的C程序中使用三角函数,但是我有一个问题因为我不能控制程序的所有代码,例如:

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include "function.h"
double f(double x); 
int main()
{
    double pointx,pointy;
    scanf("%lf",&pointx);
    pointy = f(pointx);
    /* and then I will use pointy in some further places, but
       somebody else provides me with "function.h" and the body of
       the function f, so I don't know what it does */
    return 0;
}

当我输入10而不是x时,我得到一个错误的结果,因为sin函数接受radian,这个函数将由用户给出。我的意思是它是可变的,它可以包含线性部分和三角部分。当我在该函数中插入一个点我得到错误的结果时,我想要重新确定它没有某个函数它可以是任何函数,所以我不能简单地写出将度数x转换为弧度x的东西。

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的代码示例,您的程序会调用一个名为f的外部函数,该函数由其他人编写并提供给您。那个人也应该告诉你它期望输入什么,以及它返回什么:例如,它以弧度为单位,以弧度返回另一个角度。我们称之为f接口规范。您不必确切地知道f内部确实知道其接口规范是什么。

您的程序必须符合接口规范;例如,如果要以度为单位读取用户输入的角度,则必须在调用f之前将值转换为弧度。但f也必须符合规范;例如,如果记录为以弧度为单位输入但实际上以度为单位输入,则f有一个错误,而另一个程序员有责任修复它。规范必须足够具体,每个人都知道他们应该做什么。 &#34; f可以是任何功能&#34;是不足够的。如果您拥有所有内容,则需要与撰写V1的人交谈,并使规范更具呃,具体。