Code sample for adding a content type on a list:
private static void AddContentType(SPWeb web, string listName,string contentTypeName)
{
SPList list = web.Lists[listName];
SPContentType newContentType = web.Site.RootWeb.ContentTypes[contentTypeName];
list.ContentTypes.Add(newContentType);
list.Update();
}