标签:zi 级数 int double C语言 mu xiang sin
编写程序,从键盘输入x,利用幂级数展开计算sin(x)的近似值,要求某一项绝对值误差小于10^-5。 公式如下:
方法提示:对于类似的数列求和问题,关键是抽象出第i项的通用公式,将推导出的通用第i项累加到sum,直到第i项的绝对值小于1e-5为止。另外,注意奇偶项符号的处理。
输入格式:
输入x。
输出格式:
sin(x)的逼近结果。
输入样例:
在这里给出一组输入。
例如:
0.5233
结尾无空行
输出样例:
保留4位小数。
例如:
0.4997
结尾无空行
code:
1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 double a; 6 scanf("%lf",&a); 7 8 9 double zi=a,mu=1;//zi指的是分子 mu指的是分母 10 double xiang=zi/mu; 11 double sin=xiang; 12 int j=1;//统计第几项 13 14 for(int i=3;;i+=2) 15 { 16 if(fabs(xiang)<1e-5) break;//注意当有一项满足时跳出 17 18 j++; 19 zi=pow(a,i); 20 mu=i*(i-1)*mu; 21 xiang=zi/mu; 22 23 if(j%2==0)//通过观察可知奇数项为正 偶数项为负 24 xiang=-xiang; 25 26 sin+=xiang;//sin的值 27 } 28 printf("%.4lf",sin); 29 return 0; 30 }
这篇文章以互相学习为主,有什么错的还望告知,谢谢啦
标签:zi,级数,int,double,C语言,mu,xiang,sin 来源: https://www.cnblogs.com/LonelinessKid/p/15607071.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。