❶ 如何在c語言中解決正弦或餘弦函數的表示方法
包含它的頭文件是math.h
引用後就可以直接用了
庫內部函數申明:1:double
sin(double
x);
2:double
cos(double
x);
/////////////////////////////////////////
//自己實現(
簡單檢驗):
#include<stdio.h>
#include<math.h>
void
main(void)
{
double
x1=35.77;
double
x2=65.44;
printf("sin(x1)=%f,sin(x2)=%f\n",sin(x1),sin(x2));
}
❷ C語言編程:使用函數求餘弦函數的近似值:輸入精度e,用下列公式求cos(x)的近似值
#include<stdio.h>
#include<math.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;
}
❸ 如何用C語言實現正弦或餘弦函數
如果只是需要值,那麼調用math中的sin和cos函數即可.
參數為弧度, 如果要使用的參數是角度,需要自行轉換一下.
如果想自己寫,可以參考泰勒展開, 計算近似值.一般計算到最後一項小於1e-6即可.
❹ 如何用C語言中專門的數學演算法實現正弦,餘弦函數的計算
頭文件包含。math.h
cos
:餘弦函數
函數原型:double
cos(double
x);
頭文件:#include<math.h>
是否是標准函數:是
函數功能:求x的餘弦值,這里,x為弧度。
返回值:計算結果的雙精度值。
常式如下:
求cosx。
#include
<stdio.h>
#include
<math.h>
int
main(void)
{
double
result;
double
x
=
M_PI;
result
=
cos(x);
printf("cos(PI)
is
%lf\n",
result);
return
0;
}
sin:正弦函數
函數原型:double
sin(double
x);
頭文件:#include<math.h>
是否是標准函數:是
函數功能:求x的正弦值,這里,x為弧度。
返回值:計算結果的雙精度值。
常式如下:
求sinx。
#include
<stdio.h>
#include
<math.h>
int
main(void)
{
float
x;
x=M_PI/2;
printf("sin(PI/2)=%f",sin(x));
getchar();
return
0;
}
❺ C語言求餘弦值
唉,程序寫得相當不規范,看著好頭疼;函數應該放在main外面……
#include<stdio.h>
#include<math.h>
double jiecheng(int n)
{
int i;
double sum=1;
for(i=1;i<=n;i++)
{
sum=sum*i;
}
return sum;
}
double fang(int x,int n)
{
double sum;
sum=pow(x,n);
return sum;
}
int main(void)
{
int j=1;
double x,e,count=0;
printf("e: ");
scanf("%lf",&e);
printf("x: ");
scanf("%lf",&x);
do{
count=count+(pow(-1,j-1))*fang(x,2*(j-1))/jiecheng(2*(j-1));
}while (fang(x,2*(j-1))/jiecheng(2*(j-1))>e);
printf("%lf",count);
}
//可以運行了,但是答案輸出來還是有問題……自己查查你的演算法,我就不看了,暈的慌
❻ 怎樣用C語言表示反正弦,反餘弦,反正切函數呢
計算反正切函數(使用歐拉變換公式,精度很高),反正切函數的級數展開公式:
f(x) = x - x^3/3 + x^5/5 +...+ (-1)^k * x^(2k+1)/(2k + 1)+...
當|x| > 1時,級數絕對值發散,無法直接使用歐拉公式計算。因此可以通過下面的公式
進行等價轉換之後再進行計算。
等價轉換公式:
a) ATan(1/x) = Pi/2 - ATan(x)
b) ATan(-x) = - ATan(x)
特殊情況
0 = ArcTan(0)
Pi/2 = ArcTan(無窮大)
//
// 歐拉公式
//
// sum是和,term是通項值,jterm初始為1,以後按1遞增。wrksp是工作單元,視jterm的
// 最大值而定。
//
void eulsum(int& nterm,double *sum,double term,int jterm,double wrksp[])
{
double tmp,m;
if(jterm == 1)
{
nterm = 1;
wrksp[1] = term;
*sum = 0.5 * term;
}
else
{
tmp = wrksp[1];
wrksp[1] = term;
for(int j=1; j <= nterm; j++)
{
m = wrksp[j+1];
wrksp[j+1] = 0.5 * (wrksp[j] + tmp);
tmp = m;
}
if(fabs(wrksp[nterm + 1]) <= fabs(wrksp[nterm]))
{
*sum = *sum + 0.5 * wrksp[nterm + 1];
nterm = nterm + 1;
}
else
{
*sum = *sum + wrksp[nterm + 1];
}
}
}
級數計算就不用我給代碼了吧。
❼ 用c語言編寫cosx函數
cosx函數
#include<stdio.h>
#include<math.h>
int main()
{
int n=0;
double x,sum=0;
printf("please enter x:");
scanf("%lf",&x);//
double cosx(double x,int n);
do
{
sum=sum+cosx(x,n);
n=n+1;
}
while(fabs(cosx(x,n))>1e-8);
printf("%9.8f\n",sum);
return 0;
}
double cosx(double x,int n)
{
double p,q;//
p=pow(x,2*n);
double fact(int n);//
q=fact(2*n);
if(n%2)
return(-p/q);
else
return(p/q);
}
double fact(int n)//
{
double ans=1; int i;
if(n<=1)
return 1;
for(i=1;i<=n; ++i)
ans*=i;
return ans;
}
cosx函數即反餘弦函數
函數y=cosx(x∈[0,π])的反函數叫做反餘弦函數,
記作y=arccosx(x∈[-1,1]).
❽ 如何在C語言中解決正弦或餘弦函數的表示方法我是一個
如何在C語言中解決正弦或餘弦函數的表示方法我是一個?頭文件包含。math.h
cos :餘弦函數
函數原型:double cos(double x);
頭文件:#include<math.h>
是否是標准函數:是
函數功能:求x的餘弦值,這里,x為弧度。
返回值:計算結果的雙精度值。
常式如下: 求cosx。
#include <stdio.h>
#include <math.h>
int main(void)
{
double result;
double x = M_PI。
❾ 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 的餘弦。
(9)C語言餘弦函數知乎擴展閱讀:
相關的三角函數:
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 <stdlib.h>
#include <math.h>
double funcos(double e,double x){
double sum=1.0,term=1;
int i2=0,x2;
while(1){
term= (-1) * term*x/(i2+1) *x /(i2+2);
sum=sum+term;
i2=i2+2;
if (fabs(term) < e) break;
}
return sum;
}
main(){
double e,x,v;
printf("input e: ");
scanf("%lf",&e);
printf("\ninput x: ");
scanf("%lf",&x);
v = funcos(e,x);
printf("\ncos(x)=%.3lf\n",v);
return 0;
}
========
如果是考輸入
e: 0.001x: 1
的讀語句,那麼上面程序修改一下:
printf("input\ne: 0.001x: 1\n");
scanf("e: %lf x:%lf",&e,&x);
要考輸出花樣,更簡單,你自己能寫,就不多說了。