Sorting an array of strings in C using insertion sort
Never read strings with scanf like this:

scanf(" %s", s[i]);


This allows the user of the program to enter arbitrarily long text which can overwrite all of the programs memory. 
There are several options of how to do this safely, one would be to use fgets which allows to specify the maximum length the input buffer can store.
Make sure the input is terminated with '\0' if you do this.
Same goes for the number of strings to read: You never check the counter against LEN.
In sort elem is used as temporary storage, so a better name would be temp.
Last but not least: You perform an awful lot of copying. This is totally unnecessary - you should really read up about pointers in C (they are somewhat similar to references in Java). Allocate the input strings dynamically and then just swap pointers instead of copying all those strings around.
You won't be able to avoid learning about memory management and pointers in C so might as well dig into it.