var a,b,c,d,e,f,g,h,w:integer; begin w:=strtoint(inputbox('工资金额','请输入工资金额','')); a:=w div 100; b:=w mod 100; c:=b div 50; d:=b mod 50; e:=d div 20; f:=d mod 20; g:=f div 10; h:=f mod 10; showmessage('100元'+inttostr(a)+'张'+'50元'+inttostr(c)+'张'+'20元'+inttostr(e)+'张'+'10元'+inttostr(g)+'张'+'1元'+inttostr(h)+'张'); end; 我是这样写的,大大们给我指点指点。初学delphi,呵呵。
具体这样写算法(N:=发的钱):
1: div(整除) 100 (就是100的整数) 当然是发100的票票
mod (取余)100 的数字判断> 50 发50 票一张
余下的N,n:=(N div 10) >4 的 发20票两张 n>2 发20票一张
……
2:n:=N div 50 根据n判断。 50 也可以是10 ,也可以是20 。
写个函数吧。思路就是这样的,我是这样想的,可能还有更好的算法。
begin
w:=strtoint(inputbox('工资金额','请输入工资金额',''));
a:=w div 100;
b:=w mod 100;
c:=b div 50;
d:=b mod 50;
e:=d div 20;
f:=d mod 20;
g:=f div 10;
h:=f mod 10;
showmessage('100元'+inttostr(a)+'张'+'50元'+inttostr(c)+'张'+'20元'+inttostr(e)+'张'+'10元'+inttostr(g)+'张'+'1元'+inttostr(h)+'张');
end;
我是这样写的,大大们给我指点指点。初学delphi,呵呵。