Pascal对数字的操作

时间:2017-01-01 13:43:05

标签: pascal

以下代码应该将一笔钱(例如:325.200)划分为50,10,5和1的卡片。其余的(小数部分单独显示)。

program Cards;
uses wincrt;

var
   d50, d10, d5, d1, dm: integer;
   s: real;
begin
   readln(s);
   d50 := trunc(s) div 50;
   d10 := trunc(s) mod 50 div 10;
   d5 := trunc(s) mod 10 div 5;
   d1 := trunc(s) mod 5;
   dm := trunc((frac(s) * 1000));
   writeln('50: ', d50, ' 10: ', d10, ' 5: ', d5, ' 1: ', d1, ' m: ', dm);
end.

总和356.200出现问题。显示的dm是199而不是200。

0 个答案:

没有答案