python求sinx近似值_c语言求sinx的近似值 c语言求sinx近似值

#includevoid main(){ float x,a=0,b,t,n=1,s=1,c=1; printf("请输入x的值:"); scanf("%f",&x); do { t=x; b=1; a=a+s*t; s=-s; t=t*x*x; b=b*(n+1)*(n+2); n=n+2; t=a/b; c=c+1; }while(t>1e-5); printf("%f%f",a,c);}逻辑应该是错了

网页链接

For条件错误改为大于且把精度变大一点,否则永远为真。你那个变号也不能实现总为正,可用J乘负一实现。最后你那阶乘也求错了,最好在加个变量直接不断加一来求阶乘, 手机回答不便写代码,自己好好改下吧,那样效果较好。

算法有问题了,while(n>=1E-6),这个意思是n>=0.000001时循环,这意味着必须n有可能小于这个数才可能出结果,实际上sin(1.1)在0.02左右,也就是说无法退出循环,肯定不出结果了。

/*sinx=x-x^3/3!+x^5/5-x^7/7!...*/

#include

#include

#define ACCURARY 0.00000001

main()

{

\tint i=1,j=1,k,n=1,x;

\tprintf("sinx=x-x^3/3!+x^5/5-x^7/7!...

请输入一个x

");

\tscanf("%d",&x);

\tdouble sinx=0;

\tfor(i=1;fabs(t)>=ACCURARY;i+=2)

\t{

for(k=1;k<=i;k++)

{n=n*i;}

j++;

t=pow(-1,j)*pow(x,i)/n;\t

sinx=sinx+t;

\t}

\tprintf("sin%d=%.8f

",x,sinx);

}

你编译一下,看看行不,我好久没弄了。

您好,是这样的:泰勒展开是这个:sinx=x-x^3/3!+x^5/5!-..

下面给出算20项的程序。

#include"math.h"

#include"stdio.h"

void main()

{

double x=0,y=0,z=1,s=1,mynum=0;

int i=1 ,j=0, k=1;

scanf("x=%f",&x);

for(i=1;i<20;i++)

z=1;k=1;

for(j=1;j<=2*i-1;j++)

{

z=x*z;//算j次方

k=k*j;//算阶乘}

s=-j*pow(-1,i);//pow(a,b)是a的b次方

z=z*s/k;

mymun=mynum+z;

}

printf("sinx=x-x^3/3!+x^5/5!-..");

printf("sinx=%f",mynum);

getch();

}

c语言编程求sinx的近似值(泰勒展开)?_

: 您好,是这样的:泰勒展开是这个:sinx=x-x^3/3!+x^5/5!-..下面给出算20项的程序.#include"math.h"#include"stdio.h"void main(){double x=0,y=0,z=1,s=1,mynum=0;int i=1 ,j=0, k=1;scanf("x=%f",&x);for(i=1;i<20;i++)z=1;k=1;for(j=1;j<=2*i-...

用C语言求多项式求sinx的近似值._

: #include double factorial(double n) {//求n! double result=1; for(int i=1;i<=n;i++) { result*=i; } return result; } double sinx(double x,int n) {//求sin(x),精度为n double result=0; bool bAdd=true;//是加还是减 for(int i=1;i<=n;i++) { if(bAdd) { result+...

C语言计算sinx的近似值_

: /*sinx=x-x^3/3!+x^5/5-x^7/7!...*/#include#include#define ACCURARY 0.00000001 main() { int i=1,j=1,k,n=1,x; printf("sinx=x-x^3/3!+x^5/5-x^7/7!...\n请输入一个x\n"); scanf("%d",&x); double sinx=0; for(i=1;fabs(t)>=ACCURARY...

c语言求sinx的近似值!!!!!急_

: 修改及测试代码如下:#include #include double fact(n)//数据类型使用有误 { int x; double y; y=1; for(x=1;x<=n;x++){ y=y*x; } return y; } int main() {//思路有些乱 double i,sum,x; int n=1,flag=1; scanf("%lf",&x); i=x;//第一项 sum=...

c语言求sinx的近似值,下面是我写的程序,不知道哪里出错了,求高人指点!_

: 我也不知道哪出错了.goto弄的人晕头转向啊.Sin(x)=x-x^3/3!+x^5/5!-x^7/7!+x^9/9!.....

请问c语言的求sinx的近似值_

: 你的sigh变量没赋初值,所以while循环没执行,你可在while循环前给sigh赋初值,如sigh=1.0

C语言初学者请教!编程求sinx近似值,已写程序,求改错!_

: S的值求错了...1!=13!=1*2*3;5!=1*2*3*4*5;(2*n-1)!=1*2*........*(2*n-1);

编程 求sinx近似值_

: #include#includeint jiecheng(int x);void main(){ int i=1,j=1,x; double sinx=0,sinx1=1,doubleNum; scanf("%d",&doubleNum); scanf("%d",&x);printf("\n"); for(i=1;fabs(sinx-sinx1)>=doubleNum;i+=2) { j++; sinx1=sinx; sinx=sinx...

【用C语言编写sinx的近似值,精确到10^(_6)sinx=x-x^3/3!+x^5/5!-x^7/7!+…+】

: 给,已经编译运行确认:#include #include #include double Factorial(int n) //求?乘 { int i=0; double factorical=1; if(n==0) return 1; for(i=1;i 1e-6){sum += t;++m;sign *= -1;}return sum;}int main(){doubl...

c语言求sinx的近似值,用泰勒公式,精确到10e_6._

: 主要的精神是这样 sum=0; while(1) {term=....;newSum=sum+term;if(newSum==sum) break;sum=newSum; } return sum;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值