C语言中cos(x),x输入的是弧度,怎么输入角度??各位大神多谢了。。。
楼上的我觉得不妥。这个
创新互联公司制作网站网页找三站合一网站制作公司,专注于网页设计,网站制作、做网站,网站设计,企业网站搭建,网站开发,建网站业务,680元做网站,已为超过千家服务,创新互联公司网站建设将一如既往的为我们的客户提供最优质的网站建设、网络营销推广服务!
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语言编程:使用函数求余弦函数的近似值:输入精度e,用下列公式求cos(x)的近似值
#includestdio.h
#includemath.h
int
main(void)
{
double
x,
e,cosx;
double
funcos(double
e,int
x);
printf("e:
");
scanf("%lf",e);
printf("x:
");
scanf("%lf",x);
//这里是%lf
cosx=funcos(e,x);
printf("cos(x)=%.3f\n",cosx);
return
0;
}
double
funcos(double
e,int
x)
{
int
flag,a,i;
double
sum,item;
double
fact(int
n);
item=1;
//这个初始化要大于e,否则不执行下面
flag=1;
a=0;
i=0;
sum=0;
while(fabs(item)=e){
item=(flag*pow(x,a))/fact(i);
sum=sum+item;
flag=-flag;
a=a+2;
i=i+2;
}
return
sum;
}
double
fact(int
n)
{
int
i;
double
result;
result=1;
for(i=1;i=n;i++){
result=result*i;
}
return
result;
}
函数COS(X)X为角度值,用C语言如何编写出角度X的函数值??
//由于数学库的cos接受的是弧度,所以要先进行转换,下面是示例代码
#include stdio.h
#include math.h
const double deg_to_rad = atan(1.0) / 45.0;//想把角度转成弧度,只需要把角度值乘以这个常量即可
int main(void)
{
printf("示例,45度角的余弦值为:%lf\n", cos(45*deg_to_rad));
return 0;
}
用c语言求cos(x)的近似值
我用VS2010,没错啊
// Cos.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
int fact(int x)
{
int s=1;
int i;
for(i=1;i=x;i++)
s=s*i;
return s;
}
double funcos(double e, double x);
int _tmain(int argc, _TCHAR* argv[])
{
double e, sum, x;
scanf("%le%le", e, x);
sum=funcos(e,x);
printf("sum = %f\n", sum);
return 0;
}
double funcos(double e, double x)
{
double s=1;
double item;
int i=2;
int j=1;
item=(double)pow(x,i)/fact(i);
while(iteme)
{
if(j%2==1)
s=s-item;
else
s=s+item;
i=i+2;
j++;
item=(double)pow(x,i)/fact(i);
}
if(j%2==1)
s=s-item;
else
s=s+item;
return s;
}
C语言中 COS()的用法
cos()是库函数,在头文件math.h中,原型是double cos(double x);,其中x要用弧度表示。如求30°的余弦值可用下列代码实现:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
#include "math.h"
int main(void){
printf("cos30°= %.10f\n",cos(30*3.1415926535897932/180));
return 0;
}
当前名称:cos(x)函数c语言 c语言计算cosx的值
文章链接:http://scgulin.cn/article/dodpdpj.html