Boa noite, estou com um problema para resolver um exercício de C.
No programa eu insiro idades de pessoas. Quanto insiro 0, o programa deve encerrar indicando: o número de pessoas, a idade média do grupo, a maior e menor idade.
Consegui fazer praticamente tudo, porém, sempre que eu encerro o programa com 0, ele registra este 0 como sendo a menor idade. Já tentei de várias formas, mas não consegui resolver este problema.
Segue o código. Se alguém souber dizer onde estou errando, agradeço!
#include<stdio.h>
#include<stdlib.h>
int main(){
int cont,total,idade,menorIdade,maiorIdade;
float media;
idade=1;
cont=0;
total=0;
maiorIdade=0;
menorIdade=0;
while(idade!=0){
printf("Insira a idade: ");
scanf("%d",&idade);
if(idade!=0){
if(idade!=0 && idade<menorIdade){
menorIdade=idade;
}
else if(idade>maiorIdade){
maiorIdade=idade;
}
total+=idade;
cont++;
}
}
media=total/cont;
printf("Total de pessoas: %d\n",cont);
printf("Media idade do grupo: %.2f\n",media);
printf("Menor idade: %d\n",menorIdade);
printf("Maior idade: %d\n",maiorIdade);
system("pause");
return 0;
}