c语言函数余弦值近似值 c语言计算π的近似值

大一C语言问题:使用函数求余弦的近似值,帮忙分析错误的原因因为int型的范围与机器和版本有关,是-32768~32767或-21亿~21亿,超过范围,数值就变为负值,从而引发错误 。a/s虽然都是double类型,但是当s是int类型时,就会由于超过范围引发错误,而s记录的是阶乘值,随n变大增长的速度很快,超过范围是可能的 。当x取不同值时,为了满足精度,需要取的项数不同,所以如果把s定为int型,会有时正确,有时错误 。把s定为double型,就一直正确 。
c语言计算余弦近似值int power(int a, int n){//a代表底数,n代表指数
if(n == 0) return 1;
else return a * power(a, n -1);
}
int fac(int n){//计算n!
if(n == 0) return 1;
else return n * fac(n - 1);
}
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语言 使用函数求余弦函数的近似值double funcos(double e, double x)
{
if(e0)
{
int i=0;
double item=1;
double cosx=0;
while(fabs(item)=e)
【c语言函数余弦值近似值 c语言计算π的近似值】{
cosx+=item;
i++;
item*=-1*x*x/(2*i*(2*i-1))
}
return cosx;
}
else
return -2;
}
用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语言函数余弦值近似值的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言计算π的近似值、c语言函数余弦值近似值的信息别忘了在本站进行查找喔 。

    推荐阅读