用级数和计算正弦C语言,《C编程技巧:117个问题解决方案示例 》 —2.5 计算正弦函数...

2.5 计算正弦函数

问题

你想使用无穷级数展开计算角度x的正弦值。

解决方案

这里给出了无穷级数展开的公式:

sin x = x - x3 / 3! + x5 / 5! - x7 / 7! + …

这里,x是以弧度表示的角度,它的取值范围为-1≤x≤1。可以看到连续项的值持续迅速减小。因此,仅包括前十项就足够了。如果x的值为1,则第十项的贡献约为2E-20,而第40项的贡献约为1.7E-121。

编写具有以下规格说明的C程序:

程序使用for循环计算角度x的正弦值。

程序要求用户输入角度x(-1≤x≤1)。如果用户在此范围之外输入角度x,则程序会要求用户重新输入。

当屏幕上显示角度x的正弦值时,程序会询问用户是否要计算另一个角度的正弦值或退出。

代码

以下是使用这些规格说明编写的C程序的代码。在C文件中键入以下文本(程序)并将其保存在文件夹C:\Code中,文件名为sine.c:

1589191a6925891bb4a37ebc1b514dd5.png

b817307831ae8277098bc7660c2b1c22.png

编译并执行此程序。此程序的一次运行结果如下所示:

cedb90900f48da5f9502184f648a661c.png

工作原理

LOC 19~23中包含的for循环计算角度x的正弦值。LOC 24中的代码显示结果。在此程序中使用具有两层嵌套的do-while循环。只要用户未能在指定范围内输入角度x,内部do-while循环就会将用户保持在循环内。只要用户想要计算另一个角度的正弦值,外部do-while循环就会将用户保持在循环内。内部do-while循环增加了此程序的稳健性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值