我需要帮助这个简单的迭代问题。我想分...Ada循环类型的数量直到它达到零
number : Float := 55.0;
loop
number := number/3.0;
Put (number);
exit when number <= 0.0;
end loop;
我希望它在第一个0.0退出。
我不断收到的18.3 6.1 2.0 0.7 0.2 0.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
告诉你什么:拿出一张纸,从55中分出3。然后将结果除以3.继续重复这个过程,当结果<= 0时回到我们。 :-) –
确实生病了,因为你说我曾经想分55/3:P。在ada中漂浮是有点奇怪,并提供简单的计算奇怪的结果,正如我下面所说,我写这显示我有问题。它显示额外的零 – ma1169
不,没有什么不寻常的事情。您的编译器使用IEEE标准浮点,就像您可能需要运行的其他编译器/解释器一样。如果你不相信我(或者,正如我所说,手工尝试),请尝试使用另一种语言的相同循环逻辑。 –