fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int ordena(const void * a, const void * b)
  6. {
  7. char **palavra1 = (char**) a;
  8. char **palavra2 = (char**) b;
  9. return strcmp(*palavra1, *palavra2);
  10. }
  11.  
  12. int main(int argc, char** argv)
  13. {
  14. char **nomes, frase[900], *ponteiro;
  15. nomes = malloc(sizeof(char*) * 3000);
  16. int indice, cont = 0, i;
  17. for(indice = 0; indice < 3000; indice++)
  18. {
  19. nomes[indice] = malloc(sizeof(char) * 100);
  20. }
  21.  
  22. scanf("%[^\n]", frase);
  23.  
  24. ponteiro = strtok(frase, " ");
  25. while(ponteiro != NULL)
  26. {
  27. strcpy(nomes[cont], ponteiro);
  28. cont++;
  29. ponteiro = strtok(NULL, " ");
  30. }
  31. qsort(nomes, cont, sizeof(nomes[0]), ordena);
  32. for(i = 0; i < cont; i++)
  33. {
  34. printf("%s\n", nomes[i]);
  35. }
  36.  
  37. return 0;
  38. }
  39.  
Success #stdin #stdout 0s 4400KB
stdin
carne laranja suco picles laranja picles
stdout
carne
laranja
laranja
picles
picles
suco