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