Simple Printing Arrows
Pyth, 23 bytes
May or may not be valid, based on the answer to this comment. Regardless, I found this neat, and, if it is invalid, the other Pyth answers are also invalid. ;) Well, it's valid, because I apparently missed the blatantly obvious. :/
EDIT: I WON!!!! YESSS!!!! First time ever! :D
j+_J_Wqz\r.e+*dkb*\*QtJ
Live demo.
Pyth, 27
j<tQ_Wqz\l++Jm+*\ d\*Q_PJtJ
Try it online
The basic idea here is to build one string that, for say 5, looks like this:
*
*
*
*
*
*
*
*
*
*
*
*
*
And then flip it upside down if we get l
as our input. Then we take all but the last input-1
lines of this string and print it out.
Python 2, 81 79 bytes
c=input()
r=1
l=0
exec"print' '*(%sabs(c-r))+'*';r+=1;"%("c+~"*input())*(2*c-1)
Might still be golfable, but we'll see :)