Ordenar Alfabeticamente uma lista de struct

Olá guj, tenho um problema e não to entendendo direito ele. Por favor vocês poderiam me ajudar? Bem, o problema é que não consigo ordenar de forma alfabética uma struct que lista tudo…

ai vai o codigo do meu procedimento:

void listarClientes(){
system("cls");

int i;

printf("\n-------Lista de clientes--------\n\n");

for(i=0;i<MAX;i++){

    if(cliente[i].ativo==1){

    if(strcmp(cliente[i].nome,cliente[i+1].nome)==1){

        printf("\n\n--------Cliente [%d]------------\n",i+1);
        fflush(stdin);
        printf("\nNúmero da Conta: %s",cliente[i].nconta);
        printf("\nNome: %s\n",cliente[i].nome);
        printf("CPF: %s\n",cliente[i].cpf);
        printf("Telefone: %s\n",cliente[i].telefone);
        printf("Saldo: %f\n",cliente[i].saldo);
        printf("\n--------------------------------\n\n");

            }
        }
    }

}

Como colocaria algum algoritmo de ordenação nesse algoritmo?