《C编程技巧:117个问题解决方案示例 》 —2.6 计算余弦函数

举报
华章计算机 发表于 2020/02/12 14:42:54 2020/02/12
【摘要】 本节书摘来自华章计算机《C编程技巧:117个问题解决方案示例 》 一书中第2章,第2.6节,作者是希里什·查万(Shirish Chavan),卢涛 译。

2.6 计算余弦函数

问题

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

解决方案

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

cos x = 1 - x2 / 2! + x4 / 4! - x6 / 6! + …

这里,x是弧度,它的取值范围为-1≤x≤1。可以看到连续项的值持续迅速减小。因此,仅包括前十项就足够了,如前面所讨论的那样。

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

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

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

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

代码

以下是使用这些规格说明编写的C程序的代码。但是,这次使用的编码算法与前面相比略有不同。在C文件中键入以下文本(程序)并将其保存在文件夹C:\Code中,文件名为cosine.c:

 image.png

image.png

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

 image.png

工作原理

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


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。