Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <limits.h>
- int main()
- {
- int i,j = 0,quantity,biggerFlag = 0, smallestFlag = 0;
- float vector[100],sum = 0,bigger = INT_MIN,smallest = INT_MAX;
- printf("Entre com a quantidade de numeros a serem lidos :\n");
- scanf("%d",&quantity);
- if (quantity < 3)
- {
- printf("Quantidade nao perimitida!\n");
- return 0;
- }
- for (i = 0; i < quantity; i++)
- {
- printf("Entre com o numero :\n");
- scanf("%f",&vector[j]);
- if (vector[j] > bigger)
- {
- bigger = vector[j];
- }
- if (vector[j] < smallest)
- {
- smallest = vector[j];
- }
- j++;
- }
- for (i = 0; i < j; i++)
- {
- if ((vector[i] != smallest)&&(vector[i] != bigger))
- {
- sum = sum + vector[i];
- }
- if (vector[i] == bigger)
- {
- if (biggerFlag == 1)
- {
- sum = sum + vector[i];
- }
- biggerFlag = 1;
- }
- if (vector[i] == smallest)
- {
- if (smallestFlag == 1)
- {
- sum = sum + vector[i];
- }
- smallestFlag = 1;
- }
- }
- printf("Media = %f\n",sum/(quantity - 2));
- return 0;
- }
- /*Pessoalmente, não consegui imaginar maneira alguma de calcular a média pedida sem ter que GUARDAR todas os inputs e depois calcular
- 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,
- 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