What's the value of the variable 'marker' after you add "Amy" but before "Samantha"?

new -> next = marker -> next;

Also, as everyone suggested, break the program into functions.

c-prog