Ⅰ c語言 使用函數求餘弦函數的近似值
doublefuncos(doublee,doublex)
{
if(e>0)
{
inti=0;
doubleitem=1;
doublecosx=0;
while(fabs(item)>=e)
{
cosx+=item;
i++;
item*=-1*x*x/(2*i*(2*i-1))
}
returncosx;
}
else
return-2;
}
Ⅱ 大一C語言問題:使用函數求餘弦的近似值,幫忙分析錯誤的原因
因為int型的范圍與機器和版本有關,是-32768~32767或-21億~21億,超過范圍,數值就變為負值,從而引發錯誤。a/s雖然都是double類型,但是當s是int類型時,就會由於超過范圍引發錯誤,而s記錄的是階乘值,隨n變大增長的速度很快,超過范圍是可能的。當x取不同值時,為了滿足精度,需要取的項數不同,所以如果把s定為int型,會有時正確,有時錯誤。把s定為double型,就一直正確。
Ⅲ c語言求餘弦函數近似值,輸入精度e,用下列公式求cos(x),精確到最後一項絕對值小於e
doublefuncos(doublee,doublex){
doublecos=0;t=x;
intn=1,f=1;
while(t>e){
cos+=f*t;
t*=(x*x/n/(n+1);
n+=2;f=-f;
}
}
Ⅳ C語言:使用函數求餘弦函數的近似值
doublefuncos(doublee,doublex)
{
if(e>0)
{
inti=0;
doubleitem=1;
doublecosx=0;
while(fabs(item)>=e)
{
cosx+=item;
i++;
item*=-1*x*x/(2*i*(2*i-1))
}
returncosx;
}
else
return-2;
}
Ⅳ 用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語言《求餘弦函數的近似值》
不知道題目的目的是考讀寫格式還是計算。假定是計算,程序如下:
#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);
要考輸出花樣,更簡單,你自己能寫,就不多說了。
Ⅶ 如何用C語言實現正弦或餘弦函數
如果只是需要值,那麼調用math中的sin和cos函數即可.
參數為弧度, 如果要使用的參數是角度,需要自行轉換一下.
如果想自己寫,可以參考泰勒展開, 計算近似值.一般計算到最後一項小於1e-6即可.