C语⾔利⽤泰勒级数计算sinx的值
公式:
1.利⽤函数递归计算阶乘及x的次幂值
2.sinx函数中j做公式中的符号标记
3.做题过程中遇到的基础性问题
abs()函数——整型⽤abs(),浮点型⽤fabs()
break与continue的区别:break跳出当前循环,continue跳过本次循环
printf()函数中%1f、%.1f:前者⼩数点后保留6位,后者保留1位
代码块:
#include<stdio.h>
#include<stdlib.h>
int main()
{
double x;
printf("Input x:\n");
scanf("%lf",&x);
sinx(x);
return0;
}
//计算阶乘
double fact(double x){
if(x==1){
return1;
}else{
return x*fact(x-1);
}
}
//计算x的n次幂
double Mypow(double x,double n){
double ret;
if(n ==0){
return1;
}else{
ret = x *Mypow(x, n-1);
return ret;
}
}
//计算sin值
void sinx(double x){
double i,j=-1,sinx,element;
int count;
for(i=1;;i+=2){
j*=-1;
element = j*Mypow(x,i)/fact(i);
count++;
sinx+=element;
if(fabs(element)<1e-5){
break;
}
c语言用递归函数求n的阶乘}
printf("sin(x)=%.3f,count=%d\n",sinx,count); }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论