RosettaCodeData/Task/Nth/Yabasic/nth.basic

30 lines
579 B
Plaintext

sub ordinal$ (n)
NMod10 = mod(n, 10)
NMod100 = mod(n, 100)
if (NMod10 = 1) and (NMod100 <> 11) then
return "st"
else
if (NMod10 = 2) and (NMod100 <> 12) then
return "nd"
else
if (NMod10 = 3) and (NMod100 <> 13) then
return "rd"
else
return "th"
end if
end if
end if
end sub
sub imprimeOrdinal(a, b)
for i = a to b
print i, ordinal$(i), " ";
next i
print
end sub
imprimeOrdinal (0, 25)
imprimeOrdinal (250, 265)
imprimeOrdinal (1000, 1025)
end