A. C语言中,如何把sin(2)这样的三角函数表达式在编译时预处理掉
预处理的概念就是不解析代码。。既然不解析代码又如何计算sin(2)的值?
楼主遇到的问题可以改写代码成
int a=(int)sin(2.0);如果需要四舍五入可以改成
int a=(int)(sin(2.0)+0.5);
当然也能用
#define SIN2 0
不过不推荐
B. ubuntu 14.04 环境 c语言 使用三角函数的疑惑
在Linux下
gcc编译时
默认是不会加入数学函数库的
所以 你要使用math.h中的函数
除了要Include以外
编译的时候还要加上-lm
比如
gcc test.c -o my.out -lm
C. c语言编写三角函数
求sin的:参考下 #include<stdio.h> void main() { double x,a,b,sum=0; printf("请输入x的弧度值:\n"); scanf("%lf",&x); int i,j,count=0; for(i=1;;i+=2) { count++; a=b=1; for(j=1;j<=i;j++) { a*=x; b*=(double)j; } if(a/b<0.0000001) break; else { if(count%2==0) sum-=a/b; else sum+=a/b; } } printf("%lf\n",sum); }
D. c语言计算三角函数
#include<stdio.h>
#include<math.h>
intmain()
{
doublen;//sincos是函数,不能定义成变量
scanf("%lf",&n);
n=sin(n);//求n的sin()值,并返回给n
printf("%lf ",n);//输出n
return0;
}
E. C语言三角函数 sin(50)结果不正确
其实很简单,sin这个函数的参数,是弧度数,不是角度数。比如你想求50度角的正弦,就必须转化成50度的弧度数,再算,保证没错,
F. C语言三角函数
帮你更正一下: int main() { const double pi=3.14; //定义pi的值 double a; a=sin(45*pi/180); //角度转化为弧度 printf("%f",a); //printf的正确格式 }
G. C语言高手进~三角函数问题
你的程序没有问题
vc6.0 编译
q=(sin(x*PI/180)+sin(y*PI/180))/tan(z*PI/180);处出现
warning:“e:\c\bhj\bhj.cpp(16) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data”
这是因为sin 和 tan的 返回值是双精度double类型。把它赋值给 float q,就会丢失数据。
但是计算结果是基本正确的。如果想更精确计算 就把所有的 float 全部改成 double