fork download
  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4. int vet[10], i, j, menor, antigoMenor, cont=0, cont2;
  5.  
  6. for (i=0; i<10; i++) {
  7. scanf("%i", &vet[i]);
  8. }
  9.  
  10. //encontra o menor
  11. menor = vet[0];
  12. for (i=0; i<10; i++) {
  13. if (vet[i] < menor) {
  14. menor = vet[i];
  15. }
  16. }
  17. printf("%i ", menor);
  18.  
  19. //verifica quantas vezes o menor valor aparece
  20. for (i=0; i<10; i++) {
  21. if (vet[i] == menor) {
  22. cont++;
  23. }
  24. }
  25. cont--; //o primeiro número já foi mostrado
  26.  
  27. //mostra em ordem os demais valores
  28. antigoMenor = menor;
  29. for (j=0; j < 9; j++) {
  30. if (cont == 0) {
  31. for (i=0; i<10; i++) {
  32. //printf("\n======= %i %i %i", vet[i], menor, antigoMenor);
  33. if (vet[i] > antigoMenor) {
  34. menor = vet[i];
  35. }
  36. }
  37.  
  38. for (i=0; i<10; i++) {
  39. if (vet[i] < menor && vet[i] > antigoMenor) {
  40. menor = vet[i];
  41. }
  42. }
  43.  
  44. //verifica quantas vezes o menor valor aparece
  45. //copiado do trecho anterior
  46. for (i=0; i<10; i++) {
  47. if (vet[i] == menor) {
  48. cont++;
  49. }
  50. }
  51.  
  52. antigoMenor = menor;
  53. }
  54. cont--;
  55. //printf("\n%i %i %i", menor, antigoMenor, cont);
  56. printf("%i ", menor);
  57. }
  58.  
  59. return 0;
  60. }
  61.  
Success #stdin #stdout 0s 10304KB
stdin
2 2 1 0 9 8 9 0 4 2
stdout
0 0 1 2 2 2 4 8 9 9