View Full Version : Verificar pequeno problema em C


bloodrider
10-06-2007, 18:26
Boas!

Tenho este código para o seguinte enunciado: É inserida uma sequência de números, que termina quando é inserido o 0. No fim diz qual é o menor número maior do que o primeiro a ser inserido.

#include <stdio.h>

int main()
{
int primeiro, input, menor, sair;

printf("Insira o nº referencia: ");
scanf("%d", &primeiro);

printf("Insira outro nº: ");
scanf("%d", &input);

if(input > primeiro)
{menor = input;}
else
{
if(input == 0)
{
sair = 1;
}
else
{
while(input < primeiro)
{
if(input == 0)
{
sair = 1;
input = input + primeiro;
}
else
{
printf("Insira outro nº: ");
scanf("%d", &input);
}
}
}
}


if(sair == 1)
{
printf("nao existe nenhum\n\n");
system("pause");
}
else
{
while(input != 0)
{
if(input > primeiro && input < menor)
{
menor = input;
}

printf("Insira outro nº: ");
scanf("%d", &input);
}
printf("O menor é: %d\n\n", menor);
system("pause");
}
}


Provavelmente o código podia ser melhor, mas só quero confirmar se o código resolve todas as situações ;)

raVemjr
10-06-2007, 18:41
Creio que sim...compila e faz alguns testes...

No entanto acho que esse código podia ser muito mais comprimido..

bloodrider
10-06-2007, 21:57
Creio que sim...compila e faz alguns testes...

No entanto acho que esse código podia ser muito mais comprimido..

Já o testei :P é só mesmo para ter a certeza que não me escapou nada!
Tal como eu tinha dito, provavelmente pode-se poupar umas linhas de código, mas só me interessa que esteja a funcionar :)

Datwo
11-06-2007, 00:33
Já o testei :P é só mesmo para ter a certeza que não me escapou nada!
Tal como eu tinha dito, provavelmente pode-se poupar umas linhas de código, mas só me interessa que esteja a funcionar :)

com um ciclo ficava mais bonito e elegante...