c语言中将名字储存到二维数组并排序输出

如何编写一个程序来将20个名字储存到一个二维数组中,并且排序后输出

#include <stdio.h>
#include <string.h>
int main()
{
    char names[20][20],temp[20];
    int i,j;
    for(i=0;i<20;i++)
        scanf("%s",names[i]);
    for(i=0;i<19;i++)
        for(j=0;j<19-i;j++)
        {
            if(strcmp(names[j] > strcmp(names[j+1])
            {
                strcpy(temp,names[j]);
                strcpy(names[j],names[j+1]);
                strcpy(names[j+1],temp);
            }
        }
    for(i=0;i<20;i++)
        printf("%s\n",names[i]);
    return 0;
}