Write a function/method/subroutine/... that when given an integer greater than or equal to zero returns a string of the number followed by an apostrophe then the ordinal suffix.



Example

Returns would include 1'st 2'nd 3'rd 11'th 111'th 1001'st 1012'th



Task

Use your routine to show here the output for at least the following (inclusive) ranges of integer inputs:
0..25, 250..265, 1000..1025


Note: apostrophes are now optional to allow correct apostrophe-less English.




 
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
 