RosettaCodeData/Task/Nth/BASIC256/nth.basic

29 lines
595 B
Plaintext

function ordinal(n)
ns$ = string(n)
begin case
case right(ns$, 1) = "1"
if right(ns$, 2) = "11" then return ns$ + "th"
return ns$ + "st"
case right(ns$, 1) = "2"
if right(ns$, 2) = "12" then return ns$ + "th"
return ns$ + "nd"
case right(ns$, 1) = "3"
if right(ns$, 2) = "13" then return ns$ + "th"
return ns$ + "rd"
else
return ns$ + "th"
end case
end function
subroutine imprimeOrdinal(a, b)
for i = a to b
print ordinal(i); " ";
next i
print
end subroutine
call imprimeOrdinal (0, 25)
call imprimeOrdinal (250, 265)
call imprimeOrdinal (1000, 1025)
end