N'th: Difference between revisions

1,622 bytes added ,  2 years ago
Line 698:
end
</lang>
 
==={{header|Commodore BASIC}}===
{{trans|Applesoft BASIC}}
{{works with|Commodore BASIC V2}}
<lang basic>
0 REM ROSETTACODE.ORG
1 REM N'TH
2 REM WRITE A FUNCTION/METHOD/SUBROUTINE/... THAT WHEN GIVEN AN INTEGER GREATER
3 REM THAN OR EQUAL TO ZERO RETURNS A STRING OF THE NUMBER FOLLOWED BY
4 REM AN APOSTROPHE THEN THE ORDINAL SUFFIX.
5 REM BASED ON APPLESOFT BASIC VERSION @ ROSETTACODE.ORG
6 REM
7 REM *************************
8 PRINT CHR$(14): REM CHANGE TO LOWER/UPPER CASE CHAR SET
9 OP = 1
10 FOR N = 0 TO 25 : GOSUB 100 : NEXT : PRINT
20 FOR N = 250 TO 265 : GOSUB 100 : NEXT : PRINT
30 FOR N = 1000 TO 1025 : GOSUB 100 : NEXT : PRINT
40 END
50 REM *************************
100 GOSUB 200
110 PRINT NTH$ " ";
120 RETURN
130 REM ************************
200 M1 = N - INT(N / 10) * 10
210 M2 = N - INT(N / 100) * 100
220 NTH$ = "TH"
230 IF M1 = 1 AND M2 <> 11 THEN NTH$ = "ST"
240 IF M1 = 2 AND M2 <> 12 THEN NTH$ = "ND"
250 IF M1 = 3 AND M2 <> 13 THEN NTH$ = "RD"
260 IF NOT OP THEN NTH$ = "'" + NTH$
270 NTH$ = STR$(N) + NTH$
280 RETURN
</lang>
{{out}}
<pre>
0'th 1'st 2'nd 3'rd 4'th 5'th 6't
h 7'th 8'th 9'th 10'th 11'th 12'th
13'th 14'th 15'th 16'th 17'th 18'
th 19'th 20'th 21'st 22'nd 23'rd 2
4'th 25'th
250'th 251'st 252'nd 253'rd 254'th
255'th 256'th 257'th 258'th 259'th
260'th 261'st 262'nd 263'rd 264'th
265'th
1000'th 1001'st 1002'nd 1003'rd 100
4'th 1005'th 1006'th 1007'th 1008'th
1009'th 1010'th 1011'th 1012'th 10
13'th 1014'th 1015'th 1016'th 1017't
h 1018'th 1019'th 1020'th 1021'st 1
022'nd 1023'rd 1024'th 1025'th
</pre>
 
==={{header|Nascom BASIC}}===
Anonymous user