你能帮我做作业吗?我只是一个初学者,对 Pascal 知之甚少 :(
我应该编写一个除法程序,但根据十进制数有特殊条件。输出应如下所示:
没有小数,则 20/5=4(只能是 4;不能像 4.00)
如果是小数,那么只有 1 个小数 9/4=2.3
如果小数是相同数字的无限,则 1/3=0.(3)
我该怎么做?我正在考虑将其放入数组中,但我不知道如何找到小数点的位置,也不知道如何将括号写入输出。
你能帮我做作业吗?我只是一个初学者,对 Pascal 知之甚少 :(
我应该编写一个除法程序,但根据十进制数有特殊条件。输出应如下所示:
没有小数,则 20/5=4(只能是 4;不能像 4.00)
如果是小数,那么只有 1 个小数 9/4=2.3
如果小数是相同数字的无限,则 1/3=0.(3)
我该怎么做?我正在考虑将其放入数组中,但我不知道如何找到小数点的位置,也不知道如何将括号写入输出。
我无法解决第三点,但这里是前 2 点的代码:
Var
x,y : integer;
z : real;
Begin
z := x / y;
if z = x div y
then Write(z:4:0) //Write a real var without any decimals
else Write(z:4:1); //Write a real var with just 1 decimal
End.
你必须改变周围的东西,比如阅读 x 和 y ,但是从这段代码中你几乎可以完成你的作业。
我会尝试第三次解决,过一段时间再检查答案。
解决第三点:将 x 和 y 视为分数。这是基本思想: