C语言求正弦函数的极值点,下面的程序输入的大一些会死循环,求解释

2025-05-01 09:39:10
推荐回答(4个)
回答1:

楼主的算法在数学上是没有问题的,但在计算机上就不一样了.
x和x+h完全可能相等,
当x+h==x+0并且y(x-h)==y(x+h),然后就是死循环了.
建议楼主把程序中的float都换为double再试一试.
或者把&&y(x-h)再者,我搞不明白bool
bRet存在的意义是什么,望楼主释疑.

回答2:

楼主的算法在数学上是没有问题的,但在计算机上就不一样了.
x和x+h完全可能相等,

当x+h==x+0并且y(x-h)==y(x+h),然后就是死循环了.
建议楼主把程序中的float都换为double再试一试.
或者把&&y(x-h)
再者,我搞不明白bool bRet存在的意义是什么,望楼主释疑.

回答3:

你想实现什么样的功能

回答4:

你先讲下你的思路呢,看你的C代码看得头晕晕的。