Olá, por favor se puderem me ajudar, o programa abaixo deveria entrar em um loop ate que eu digitasse 0. Mas ele finaliza assim que eu digito o primeiro numero.
do {//incia uma condição printf ("Digite numeros inteiros diferentes de zero:"); //pede ao usuário números inteiros diferente de zero scanf("%d",&num); if (num>m1){ //se o numero digitado for maior que o maior numero digitado anteriormente o programa entra no for m3=m2; //como o num e maior que m1, o m1 recebe o num e o valor que antes ocupava o m1 desce para o m2, e assim sucessivamente m2=m1; m1=num;}
else {
if(num>m2 && num<m1){ //condição onde o numero digitado e menor que o m1 e maior que o m2, assim: m3=m2; //o valor que antes pertencia o m2, agr desce para a posição do m3 m2=num; //sendo o num maior que m2, m2 agora recebe num m1=m1;//o m1 continua inalterado por o valor digitado e menor que ele }
else { if (num>m3 && num<m2){ //condição onde o numero maior que m3 e menor que m2 m3=num; //como a condição fala que o num e maior que m3, m3 agora recebe num m2=m2; //m2 fica inalterado m1=m1;//m1 fica inalterado } } }
} while (num!=0 && num<0);
printf ("O primeiro maior numero digitado e: %d\n",m1); printf ("O segundo maior numero digitado e: %d\n",m2); printf ("O terceiro maior numero digitado e: %d\n",m3);
Pergunta
charliebd
Olá, por favor se puderem me ajudar, o programa abaixo deveria entrar em um loop ate que eu digitasse 0. Mas ele finaliza assim que eu digito o primeiro numero.
Obrigada.
CÓDIGO
****************************************************************************************************************
#include <stdlib.h>
#include <stdio.h>
//#include <iostream.h>
#include <math.h>
#include <conio.h>
int num,m1,m2,m3;
main () {
m1=0;
m2=0;
m3=0;
do {//incia uma condição
printf ("Digite numeros inteiros diferentes de zero:"); //pede ao usuário números inteiros diferente de zero
scanf("%d",&num);
if (num>m1){ //se o numero digitado for maior que o maior numero digitado anteriormente o programa entra no for
m3=m2; //como o num e maior que m1, o m1 recebe o num e o valor que antes ocupava o m1 desce para o m2, e assim sucessivamente
m2=m1;
m1=num;}
else {
if(num>m2 && num<m1){ //condição onde o numero digitado e menor que o m1 e maior que o m2, assim:
m3=m2; //o valor que antes pertencia o m2, agr desce para a posição do m3
m2=num; //sendo o num maior que m2, m2 agora recebe num
m1=m1;//o m1 continua inalterado por o valor digitado e menor que ele
}
else {
if (num>m3 && num<m2){ //condição onde o numero maior que m3 e menor que m2
m3=num; //como a condição fala que o num e maior que m3, m3 agora recebe num
m2=m2; //m2 fica inalterado
m1=m1;//m1 fica inalterado
}
}
}
} while (num!=0 && num<0);
printf ("O primeiro maior numero digitado e: %d\n",m1);
printf ("O segundo maior numero digitado e: %d\n",m2);
printf ("O terceiro maior numero digitado e: %d\n",m3);
system ("pause");
return 0;
}
*****************************************************************************************************************************
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.