重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
sum = fun(x,y,z); //这里,应当接收函数的返回值
创新互联2013年开创至今,先为台山等服务建站,台山等地企业,进行企业商务咨询服务。为台山企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
printf("f(x,y,z)=%f\n",sum);
包含头文件math.h后,所有三角函数的库函数就都可以直接引用了。比如求x的正弦就用sin(x),它返回一个double值。注意x以弧度计……
楼上的我觉得不妥。这个
1、#define PI 3.14 //精度过于小,改为#define PI 3.14159265359
2、#define cos(x) cos(x/PI*180) //这个是宏定义,不是函数,或者叫做伪函数,尽量不要用。也千万不要迷恋所谓的效率。因为这个东西逃过了VC编译器的静态类型检查,很多隐藏的很深的错误(尤其是当复杂的时候)。现在基本用inline内联函数替代啦。而且调试过程中,无法查看相关量的值(这个不存在我指复杂一点的)。但是强烈建议开始就养成好的编程习惯。
3、这个东西有误解。(除非每一次都会去看它的定义)因为角度也是double或float型,而弧度也是同样,所以用的时候会有误解。因为库中原来的cos()要的是弧度。现在你给重定义成了要角度。其中我想用cos()给其提供弧度的版本,结果也被这个宏替换成了要角度的版本。如:我想求cos(PI/2),结果被你替换成了cos(PI/2*180/PI),这个太可恶了。和原函数名字一模一样!会给后面的维护工程师带来大麻烦!
所以,明确的写一个。角度转弧度的函数 double RadToAngle (double); 还是用原来库函数 cos( RadToAngle (30)) 这个一看就知道 将30°换成弧度,并调用原来的cos()函数。
好运!
C语言的三角函数库采用的单位都是弧度,如果要使用角度,就必须转换,从角度转换成弧度,或者是重写一个三角函数库。
方法一,在调用三角函数之前先把角度换算成弧度,调用反三角函数之后把弧度换算成角度就可以了。可以用 pi = 4.0 * atan(1) 算出pi,用 a = d /180.0*pi 转换角度到弧度。
例如: sin(45 /180.0*pi); 就是计算的sin45。
方法二,直接覆写三角函数。
例如sin函数:
double dsin(double d){
return sin(45 /180.0*pi); //原理和方法一样,调用的时候直接使用dsin(45)即可
}
#include
#include
int main()
{
double n; //sin cos是函数,不能定义成变量
scanf("%lf",n);
n=sin(n); //求n的sin()值,并返回给n
printf("%lf\n",n);//输出n
return 0;
}
从键盘输入一个角度值,求出该角度的正弦值、余弦值和正切值。
#includeiostream
#includecmath
using namespace std;
const double pi(3.14159265);
void main()
{ double a,b;
cina;
b=a*pi/180;
cout"sin("a")="sin(b)endl;
cout"cos("a")="cos(b)endl;
cout"tan("a")="tan(b)endl;
}
求阶乘
#includeiostream.h
int Factorial ( int ) ;
void main ()
{ int k ;
cout "Compute Factorial(k) , Please input k: " ;
cin k ;
cout k "! = " Factorial(k) endl ;
}
int Factorial ( int n )
{ if ( n == 0 )
return 1 ;
else
return n * Factorial ( n - 1 ) ;
}
x的n次方的函数
#include iostream
using namespace std;
double power (double x, int n);
void main(void)
{
cout "5 to the power 2 is " power(5,2) endl;
}
double power (double x, int n)
{
double val = 1.0;
while (n--)
val = val*x;
return(val);
}