nikolas_serafini

Lista 3 - Exercício 47

Jun 16th, 2013
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.66 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <limits.h>
  3.  
  4. int main()
  5. {
  6.     int i,j = 0,quantity,biggerFlag = 0, smallestFlag = 0;
  7.     float vector[100],sum = 0,bigger = INT_MIN,smallest = INT_MAX;
  8.    
  9.     printf("Entre com a quantidade de numeros a serem lidos :\n");
  10.     scanf("%d",&quantity);
  11.     if (quantity < 3)
  12.     {
  13.         printf("Quantidade nao perimitida!\n");
  14.         return 0;
  15.     }
  16.  
  17.     for (i = 0; i < quantity; i++)
  18.     {
  19.         printf("Entre com o numero :\n");
  20.         scanf("%f",&vector[j]);
  21.         if (vector[j] > bigger)
  22.         {
  23.             bigger = vector[j];
  24.         }
  25.         if (vector[j] < smallest)
  26.         {
  27.             smallest = vector[j];
  28.         }
  29.         j++;
  30.     }
  31.     for (i = 0; i < j; i++)
  32.     {
  33.         if ((vector[i] != smallest)&&(vector[i] != bigger))
  34.         {
  35.             sum = sum + vector[i];
  36.         }
  37.         if (vector[i] == bigger)
  38.         {
  39.             if (biggerFlag == 1)
  40.             {
  41.                 sum = sum + vector[i];
  42.             }
  43.             biggerFlag = 1;
  44.         }
  45.         if (vector[i] == smallest)
  46.         {
  47.             if (smallestFlag == 1)
  48.             {
  49.                 sum = sum + vector[i];
  50.             }
  51.             smallestFlag = 1;
  52.         }
  53.     }
  54.     printf("Media = %f\n",sum/(quantity - 2));
  55.     return 0;
  56. }
  57.  
  58. /*Pessoalmente, não consegui imaginar maneira alguma de calcular a média pedida sem ter que GUARDAR todas os inputs e depois calcular
  59. a média sem os maior e menor numero digitados. Vale apontar que o programa foi feito para eliminar UM NÚMERO maior e UM NÚMERO menor,
  60. caso o usuário digite dois números IGUAIS que sejam maiores ou menores. Por este motivo usei os "flags" como sinalizadores. */
Advertisement
Add Comment
Please, Sign In to add comment