Here is a small piece of code that does what you need. The code should work as it is pretty simple and I have not tested even for compilation. But this should get you started with ArcObjects.
//Get the Polygon from the Feature.Shape property
public void AddPolygonVertexText(IMap map, IPolygon polygon)
{
IPointCollection ptCollection = (IPointCollection)polygon;
IPoint outPoint=new PointClass();
IGraphicsContainer graphicsContainer = map as IGraphicsContainer;
IElement txtElement=null;
for(int ptCount=0;ptCount<ptCollection.PointCount;ptCount++)
{
ptCollection.QueryPoint(ptCount,outPoint);
GetTextElement(outPoint,ptCount+1);
graphicsContainer.AddElement(element, 0);
}
((IActiveView)map).PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
}
//Creates a TextElement and sends the result to the calling class
private ITextElement AddTextElement(IPoint pt,string labelTxt)
{
IElement element = new TextElementClass();
ITextElement textElement = element as ITextElement;
IPoint point = new PointClass();
point.X = pt.X;
point.Y = pt.Y;
element.Geometry = point;
textElement.Text = labelText;
return textElement;
}