Fortran (GFortran) -cpp
, 304409.. 266 bytes
#define w' on the wall'
#define p trim(x)i,trim(b)
character' bottle',char(16n)a,b,x;a=' bottles' of beer';b=abeer'
do#define 5q print"(*(g0))"
n=115;do5 i=99,1,-1;write(x,'(i0)')i;if1;if(i<2)b=' bottle of beer'n=0
if(i<99)print*q,'Take one down, pass it around, ',p,w,'.',new_line(xw)
5 print*q,p,w,', ',p,'.'
print*n=115;i=99;q,'Go to the store and buy some more, 99'',ap,w,'.';end
The -cpp
option allows me to #define
macros.
-cpp
allows me to#define
macros- macro
p
uses ASCII conversion, so acharacter
variable's'
isn't needed - macro
q
formats integers nicely, so a conversion ofi
to string isn't needed - loop
do5
(ungolfeddo 5
) loops around to label5
two lines below