成都网站建设设计

将想法与焦点和您一起共享

c语言使用函数求余弦,c语言绘制余弦函数

大一C语言问题:使用函数求余弦的近似值,帮忙分析错误的原因

因为int型的范围与机器和版本有关,是-32768~32767或-21亿~21亿,超过范围,数值就变为负值,从而引发错误。a/s虽然都是double类型,但是当s是int类型时,就会由于超过范围引发错误,而s记录的是阶乘值,随n变大增长的速度很快,超过范围是可能的。当x取不同值时,为了满足精度,需要取的项数不同,所以如果把s定为int型,会有时正确,有时错误。把s定为double型,就一直正确。

西充网站建设公司成都创新互联公司,西充网站设计制作,有大型网站制作公司丰富经验。已为西充成百上千提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的西充做网站的公司定做!

C语言编程:使用函数求余弦函数的近似值:输入精度e,用下列公式求cos(x)的近似值

#includestdio.h

#includemath.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语言求余弦值

唉,程序写得相当不规范,看着好头疼;函数应该放在main外面……

#includestdio.h

#includemath.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语言中专门的数学算法实现正弦,余弦函数的计算

头文件包含。math.h

cos

:余弦函数

函数原型:double

cos(double

x);

头文件:#includemath.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);

头文件:#includemath.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语言:使用函数求余弦函数的近似值

double funcos(double e, double x)

{

if(e0)

{

int i=0;

double item=1;

double cosx=0;

while(fabs(item)=e)

{

cosx+=item;

i++;

item*=-1*x*x/(2*i*(2*i-1))

}

return cosx;

}

else

return -2;

}


当前文章:c语言使用函数求余弦,c语言绘制余弦函数
网页路径:http://chengdu.cdxwcx.cn/article/heoedj.html