-
Posts
19 -
Cadastrado em
-
Última visita
Tópicos solucionados
-
O post de eduds08 em maior e menor altura foi marcado como solução
Primeiramente, inicialize todas as suas variáveis em 0 da seguinte maneira:
int n = 0; int maior = 0; int menor = 0; int contador = 0; Isso vai evitar problemas, pois no seu primeiro if, você está verificando se "n" é maior ou menor que as variáveis "maior" e "menor", sendo que elas não possuem nenhum valor definido.
if(n > maior && n < menor) { maior= n; menor= n; } Esse código aqui não faz sentido. Como é possível que uma altura "n" seja maior que a maior altura e menor que a menor altura simultaneamente?
Agora, respondendo a sua dúvida do porquê que menor não está sendo o que você quer: você precisa inicializar a variável "menor" com algum valor para você poder verificar se a idade "n" digitada é menor do que "menor".
Por exemplo, um jeito simples (mas feio) de fazer isso seria inicializar "menor" com um valor alto como 999.
Aqui está um exemplo do código completo:
#include <stdio.h> int main() { int n = 0; int maior = 0; int menor = 999; int contador = 0; for (contador = 0; contador < 5; contador++) { printf("\ndigite a altura:"); scanf("%d", &n); if (n < menor && n != 0) { menor = n; } if (n > maior && n != 0) { maior = n; } } printf("maior altura: %d\n", maior); printf("menor altura: %d\n", menor); return 0; }
Note que um jeito mais elegante de fazer seria inicializar as variáveis "maior" e "menor" com o valor do primeiro "n" digitado. Dessa forma, mesmo que um usuário digitasse um valor maior do que 999, o programa não bugaria e continuaria funcionando como o planejado.
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais