The simplest thing to start with would be to feed a list into the function
and see if that works:

cities = %w{london paris bejing tokyo moscow}
alphabetize(cities)

This gives me

bejing
london
moscow
paris
tokyo

So the sort function seems ok. The real problem is this

puts "How many cities would you like to specify?"
n = gets.chomp.to_i
for i in 0...n
    puts (i+1).to_s + ". city: "
    cities = Array.new(n)
    cities[i] = gets.chomp
end

Basically you delete the array every time you go round the loop.

puts "How many cities would you like to specify?"
n = gets.chomp.to_i
cities = Array.new
n.times.each do
    puts "City: "
    cities << gets.chomp
end

The creation of the array is outside the loop and do things in a more Ruby
way