博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《C语言及程序设计》实践参考——太乐了
阅读量:6591 次
发布时间:2019-06-24

本文共 1675 字,大约阅读时间需要 5 分钟。

返回:  

【项目7-太乐了】

先听故事,再编程序。
故事是这样的:话说sin和cos是一对夫妇。一天,sin去听相声了,cos在家。过了一会,有人敲门,cos开门一看,是一个不认识的多项式函数。cos问:你是谁啊?他说:我是你的老公sin啊。cos说:你不是去听相声了吗?怎么成这幅摸样了?sin说:是啊,太乐了!
故事讲完了。下面是sin函数的泰勒展式:
(注:x取弧度值,而非角度值)
用sin泰勒展式编写程序,求出sin(π/2)和sin(56°)的值,精度要求达到小数点后6位(即当最后一项的绝对值小于0.00001时,累加结束,求绝对值的函数也可以自定义函数myabs实现)。
下面是程序模板,请完成自定义函数的声明和定义,并将main函数中下划线部分补充完整。

#include
#define pi 3.1415926double mysin(double x);double myabs(double x);int main( ){ printf("sin(π/2)的值为%.5f\n", mysin(pi/2)); printf("sin(56°)的值为%.5f\n", ___________); return 0;}//下面定义mysin函数,求sin值//下面定义myabs函数,求绝对值
说明:sin听相声“太乐”了,变成了多项式,连太太cos都不认识了。利用泰勒公式将任意函数展开为多项式进行计算,是计算机求解数值问题的一个重要手段。高等数学中的“泰勒定理”为我们解决这一大类问题提供了理论依据与方法指导。高等数学、线性代数等课程为我们提供解决各种问题的基础知识,是大学中最为实用的学科,学好,必须的。
实际上,C语言的数学库(#include<math.h>)中已经提供了sin和cos函数,以及求绝对值的函数fabs,一般解题中我们直接调用即可,而本题要求自定义函数实现,为区别起见,分别起名为mysin、mycos、myabs。
提示:程序的输出应该为:
sin(π/2)的值为1sin(56°)的值为0.82904(小数点后保留5位时)
[参考解答]

#include
#define pi 3.1415926double mysin(double x);double myabs(double x);int main( ){ printf("sin(π/2)的值为%.5f\n", mysin(pi/2)); printf("sin(56°)的值为%.5f\n", mysin((56.0/180)*pi)); return 0;}//下面定义mysin函数,求sin值double mysin(double x){ double sum=x,x_pow=x,item,fact=1; int n=1,sign=1; //定义变量时赋初值,已经将第一项考虑到累加和sum中 do { fact=fact*(n+1)*(n+2); //fact用于表示阶乘,在公式中作分母 x_pow*=x*x; //x_pow是分子中用于表示阶乘,在公式中作分母 sign=-sign; //确定即将要累加的这一项的符号 item =x_pow/fact*sign; //计算出要累加的项 sum+=item; //将该项累加上去 n+=2; }while(myabs(item)>1e-5); return sum;}//下面定义myabs函数double myabs(double x){ return ((x>=0)?x:-x);}
注:fact类型取double型而非int型,是因为当n>12时,int型会溢出,导死循环。

你可能感兴趣的文章
CIO如何构建扁平化的IT部门?
查看>>
IDC:到2019年物联网开支预计突破1.3万亿美元
查看>>
边缘计算架构增强数据中心—雾计算、边缘计算正蓬勃兴起
查看>>
将线下场景搬到线上,青牛软件发布视频呼叫中心产品
查看>>
国内航空业大数据新应用:星环助力厦门航空
查看>>
httpoxy漏洞远程攻击PHP Python应用
查看>>
解读非法泄露的数据和隐私的流入路径
查看>>
ImageMagick再爆DoS漏洞CVE-2017-8830 7.0.5及7.0.6版本受影响 波及多个Ubuntu Linux版本
查看>>
近几年前端技术盘点以及 2016 年技术发展方向
查看>>
RedHat Linux服务器安全配置细节
查看>>
大数据架构面临技术集成的巨大障碍
查看>>
智能中控:让“各自为政”的智能家居并肩作战
查看>>
安卓耗电之谜:罪魁祸首是谁?
查看>>
剖析大数据分析方法论的几种理论模型
查看>>
选择外部数据中心:云安全十问
查看>>
TalkingData携手中青旅联科建立旅游消费者大数据实验室
查看>>
APP推广之巧用工具进行数据分析
查看>>
你如何在浏览器中体验Ubuntu
查看>>
一分钟了解负载均衡的一切
查看>>
小鱼易连全系新品正式发布 引爆音视频会议行业核聚变
查看>>