回 帖 发 新 帖 刷新版面

主题:奇怪的程序错误,能让你癫狂。恳请解疑。

有这么一个“很简单”的题。

  打印 sin x ,cos x,tan x。其中x为0°,10°,20°,30°,....,180°.

这里附上程序。

程序:

Var
  i: Byte;
  n: Real;
Begin
  For i:=0 To 18 Do
   Begin
    n:=i*10*pi/180;
    WriteLn(Sin(n):0:5,Cos(n):14:5,Sin(n)/Cos(n):14:5)
   End
  End.

一切都似乎很完美.....
但是,运行过后......suprise———在90°的时候,tan出了大问题了。
具体如何,大家运行过后便知。

如果结果是不对的,那么,求正确解。

如果这个结果是对的,那么,为什么对了?


回复列表 (共7个回复)

沙发

tan90°本来就没意义啊。。(﹢-无穷)
程序报错很正常。。。。。

板凳

事实告诉你,tan(90) = -1.9952004122082 .

不信用百度计算器查.

3 楼


事实告诉你,tan(90) = -1.9952004122082 .

不信用百度计算器查.

4 楼

呵呵,别打马虎眼儿。
90度的正切

弧度为90的角度值的正切是完全两个不同的东西~~~~

5 楼

同上,tan90和tan90°完全不同。
tan90°=∞
解决办法是用if判断一下i<>9

6 楼

用WINDOWS自带的计算器算就知道了

7 楼

一致同意楼上观点!

我来回复

您尚未登录,请登录后再回复。点此登录或注册