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语言计算余弦近似值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语言问题:使用函数求余弦的近似值,帮忙分析错误的原因因为int型的范围与机器和版本有关,是-32768~32767或-21亿~21亿,超过范围 , 数值就变为负值,从而引发错误 。a/s虽然都是double类型,但是当s是int类型时,就会由于超过范围引发错误 , 而s记录的是阶乘值,随n变大增长的速度很快 , 超过范围是可能的 。当x取不同值时,为了满足精度,需要取的项数不同,所以如果把s定为int型 , 会有时正确,有时错误 。把s定为double型,就一直正确 。
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语言《求余弦函数的近似值》不知道题目的目的是考读写格式还是计算 。假定是计算,程序如下:
#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语言计算余弦函数近似值和c语言求余弦函数的近似值的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- go语言怎么连接,go语言教程
- 如何搭建制作网站建筑,网站建设教程搭建
- 关于phpadosqlserver的信息
- php表单批量更新数据库 php数据库更新语句
- vps忘记mysql密码,vps账号密码
- 开票u盘叫什么名称,开票那个u盘叫什么
- 医院建造模拟器游戏,模拟医院建设
- linux执行c文件命令 linux执行c语言文件
- 肩上有个猫头鹰是什么电视,头上有角的猫头鹰