❶ 有誰知道VB編程中運算sin、cos、tan、cot的程序怎麼寫
sin(角度值)同理cos,tan
Atn()是VB反正切函數,VB不提供其他反三角函數,不過可以用下列公式導出:
Inverse
Sine
(反正弦):
Arcsin(X)
=
Atn(X
/
Sqr(-X
*
X
+
1))
Inverse
Cosine
(反餘弦):
Arccos(X)
=
Atn(-X
/
Sqr(-X
*
X
+
1))
+
2
*
Atn(1)
Inverse
Secant
(反正割):
Arcsec(X)
=
Atn(X
/
Sqr(X
*
X
-
1))
+
Sgn((X)
-
1)
*
(2
*
Atn(1))
Inverse
Cosecant
(反餘割):
Arccosec(X)
=
Atn(X
/
Sqr(X
*
X
-
1))
+
(Sgn(X)
-
1)
*
(2
*
Atn(1))
以上這些公式,其實就是應用了數學中的各類三角函數和正切函數之間的關系導出的。其中需要注意的是其中的
X
不能等於正負1。(引用-_-)
x都是弧度制
❷ c語言程序設計 關於sin函數的 高分求助
在你的c程序里加入這兩個頭文件"math.h""graphics.h".
然後利用裡面的函數就可以作了.在dos下畫圖是比較困難的.給你個例子參考一下:
#include<stdlib.h>
#include"graphics.h"
#include"math.h"
void sin_pixel(int x0,int y0,int x1,int y1,int color);
void main()
{
int driver,mode,n;
int a,b,c,d,colo;
printf("\n qing shu ru liang dian de zuo biao .\n");
printf("\n qing yong kong ge fen ge :\n");
scanf("%d %d %d %d",&a,&b,&c,&d);
printf("\n qing shu ru color .\n");
scanf("%d",&colo);
driver=VGA;
mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(0);
setcolor(15);
sin_pixel(a,b,c,d,colo);
}
void sin_pixel(int x0,int y0,int x1,int y1,int color)
{
//以下為偽代碼,畫出來的是一條直線,至於怎麼計算sin值點,我幫不了你了,數學不行.你找個數學好的同學幫一下吧!
float x,dx,dy,k,y;
dx=x1-x0;
dy=y1-y0;
k=dy/dx;
if (fabs(k)<=1)
{
y=y0;
for(x=x0;x<=x1;x++)
{
putpixel(x,(int)(y+0.5),color);
y=y+k;
}
}
else
{
x=x0;
for(y=y0;y<=y1;y++)
{
putpixel((int)(x+0.5),y,color);
x=x+1/k;
}
}
getch();
}
❸ c語言編程,sinx
在寫C語言的程序時,在開頭加上一個頭文件math.h即可。
即可直接使用sin(x),特別注意x應該為弧度制,如果不是弧度制需要轉化為弧度制。
添加頭文件方法:#include<math.h>。
(3)用sin編程擴展閱讀:
在C語言家族程序中,頭文件被大量使用。一般而言,每個C++/C程序通常由頭文件和定義文件組成。頭文件作為一種包含功能函數、數據介面聲明的載體文件,主要用於保存程序的聲明,而定義文件用於保存程序的實現。
C標准函數庫(C Standard library)是所有符合標準的頭文件(head file)的集合,以及常用的函數庫實現程序,例如I/O 輸入輸出和字元串控制。
不像 COBOL、Fortran 和 PL/I等編程語言,在 C 語言的工作任務里不會包含嵌入的關鍵字,所以幾乎所有的 C 語言程序都是由標准函數庫的函數來創建的。
1995年,Normative Addenm 1 (NA1)批准了三個頭文件(iso646.h, wchar.h, and wctype.h)增加到C標准函數庫中。C99標准增加了六個頭文件(complex.h, fenv.h, inttypes.h, stdbool.h, stdint.h, and tgmath.h)。
C11標准中又新增了5個頭文件(stdalign.h, stdatomic.h, stdnoreturn.h, threads.h, and uchar.h)。至此,C標准函數庫共29個頭文件 。
常用的C語言函數庫:
<math.h>,<stdio.h>,<stdlib.h>,<time.h>,<string.h>。
使用方法:#include+<函數庫名>
參考資料來源:網路-C標准函數庫
❹ c語言編程:編程並計算sin(x)的值
#include<stdio.h>
#include<math.h>
doublesin(double);
doublenResult(double,double);
intmain()
{
doublex=0;
scanf("%lf",&x);
printf("sin(%lf)=%lf ",x,sin(x));
return0;
}
doublesin(doublex)
{
//sin(x)=x-x^3/3!+x^5/5!-x^7/7!+……+(-1)(n^2n+1)/(2n+1)!+……
inti=0;
doubleresult=0,n=0;
while(fabs(n=nResult(x,2*++i-1))>0e-5)//絕對值大於10^-5次方就循環
result+=(i%2==1)?n:-n;
returnresult;
}
doublenResult(doublex,doublen)
{
//(n^2n+1)/(2n+1)!也就是n/1*n/2*n/3*n/4*.....n/(2n+1)
returnn==1?x:nResult(x,n-1)*x/n;
}
用遞歸給寫了一個 sin(π)=0 sin(π/2)=1
樓主看得上就採納吧
❺ c語言math庫函數的sin怎麼用
包含頭文件math.h,寫成sin(x);的形式直接調用這個函數。其中x是double型弧度值。函數返回一個double值。如有double
x=3.1415926/180*30;,那麼printf("sin30°
=
%f\n",sin(x));將輸出sin30°
=
0.500000。
修改建議
您的回答內容不完整
知識型提問需要先直接對提問進行回復,開門見山,再對相關知識點進行延伸,如:http://t.cn/RL6ROi3加油哦!
你拒絕認證吧,這沒有完善的必要了,學過三角函數的人都能看懂,看了10頁C教科書的也都知道怎麼寫了。還要怎樣「開門見山」,怎樣「延伸」?難道還得解釋sin是對邊比斜邊?
❻ 一個sin函數的C語言編程,求高手,有急用
其實只要結果的話,不必用C做了,用 excel 更簡便些。
這個輸出的文檔在myResault.txt 程序編譯鏈接生成的.EXE的運行目錄下
/* TC編譯下通過 */
/* 修改後 DEV C++下編譯通過 */
#include<stdio.h>
#include<conio.h>
#include<math.h>
const double pi=3.141593;
const double dt=0.001;
void main() /* C++編譯環境下 改成 int main() */
{
double res;
double f=50;
double t;
double x=2*pi*f;
int loopi = 1;
FILE * fs;
fs = fopen("myResault.txt","w");
if (0==fs) printf("open file error!");
for ( loopi=1; loopi<=1024; loopi++ ){
t = dt*loopi;
res = 220.0 * sin( x*t );
fprintf(fs,"%lf\n",res);
printf("%lf\n",res);
}
fclose(fs);
getch();
/* return 0; C++編譯環境下 int main()中加上 返回值0 */
}
❼ C語言編寫sin函數求教!
C語言中要編寫sin函數,實質上要利用sin的泰勒公式,然後根據泰勒公式,將其中的每一項進行分解,最後用循環,累加計算出最終結果
下面用for循環實現sin的演算法,程序代碼如下:
#include<stdio.h>
#include<math.h>
void main()
{
int i;
float x,sum,a,b; //sum代表和,a為分子,b為分母
char s;
printf("please input x");
scanf("%f",&x);
s=1;
sum=0;
a=x; //分母賦初值
b=1; //分子賦初值
for(i=1;a/b>=1e-6;i++)
{
sum=sum+s*a/b; //累加一項
a=a*x*x; //求下一項分子
b=b*2*i*(2*i+1); //求下一項分母
s*=-1;
}
printf("sum=%f ",sum);
}
3. 關於上述程序的幾點說明:上述程序的計算結果精確到小數點後六位;上述程序運用了sin的泰勒展開式 sin x=x-x^3/3!+x^5/5! ...... ,程序中將sin泰勒公式中的每一項拆成了分子,分母以及每一項前的符號這三項,以便於每一項的累加
❽ C語言里sin函數和cos函數的調用
C語言里sin函數和cos函數是C標准數學函數庫中的函數,調用需要引入math.h頭文件。
一、sin()函數描述:
C 庫函數 double sin(double x) 返回弧度角 x 的正弦。sin() 函數的聲明:double sin(double x)。
參數:x -- 浮點值,代表了一個以弧度表示的角度。
返回值:該函數返回 x 的正弦。
二、cos() 函數描述:
cos() 函數的功能是求某個角的餘弦值。cos()函數的聲明:double cos(double x)。
參數:x -- 浮點值,代表了一個以弧度表示的角度。
返回值:該函數返回 x 的餘弦。
(8)用sin編程擴展閱讀:
相關的三角函數:
double asin (double); 結果介於[-PI/2,PI/2]
double acos (double); 結果介於[0,PI]
double atan (double); 反正切(主值),結果介於[-PI/2,PI/2]
double atan2 (double,double); 反正切(整圓值),結果介於[-PI,PI]
❾ 正弦函數C語言編程
#include <stdio.h>
#include <math.h>
#define EX 0.000001
#define PI 3.14159265
int main()
...{
double x=0.0, temp=1.0, sin=0.0;
int i;
printf("Please input a degree:");
scanf("%lf",&x);
x=x*PI/180;
temp=x;
i=0 ;
while ( fabs(temp) >EX ) ...{
sin += temp;
i += 2;
temp = (-1) * temp*x*x/( (i+1)*(i) );
}
printf("sin(%lf) = %lf ",x,sin);
printf("The number is %d ",i);
return 0;
}
❿ sin函數編程設計
如果要防止溢出話,可以改為:t *=-t1/((double)i*(i+1));(原式中多寫了一個i)
實際上,在原來的程序中,是不會發生溢出的(因為只有兩個數相乘)。
scanf("%lf",&x);中是小寫的L