Ir ao conteúdo
  • Cadastre-se

C PROGRAMAÇÃO EM C , O que está errado? Como posso continuar ?


Konno Yuuki

Posts recomendados

"Faça um algoritmo que receba três números. Os números devem ser armazenados em três variáveis com os seguintes nomes: MENOR, INTERMEDIÁRIO, MAIOR (suponha que os três números são diferentes)."

Comecei a fazer mais não sei como continuar, me ajudem por favor

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
#include<string.h>

int main ()
{
   int num1,num2,num3;
   char menor,intermediario,maior;

   printf("Digite 3 numeros diferentes \n");
   printf("Numero 1: ");
   scanf("%d", &num1);
   printf("Numero 2: ");
   scanf("%d", &num2);
   printf("Numero 3: ");
   scanf("%d", &num3);


}

 

Link para o comentário
Compartilhar em outros sites

Menor, intermediário e maior são números, devem ser do tipo "int":

int menor,intermediario,maior;

Depois você pode fazer as comparações e determinar quais números serão maiores e menores. Aqui um exemplo, que tentar verificar se num1 é o maior, o menor ou o intermediário - considerando que os três números são diferentes:

 if ((num1 > num2) && (num1 > num3)) maior = num1;
 else if ((num1 < num2) && (num1 < num3)) menor = num1;
 else intermediario = num1;

Tente fazer para os outros dois números.

Link para o comentário
Compartilhar em outros sites

Fiz algumas modificações e ficou assim, mas o problema agora é que o intermediario e o menor ficam trocados.

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
#include<string.h>

int main ()
{

   int menor,intermediario,maior;
   int a, b, c;

   printf("Digite 3 numero diferentes \n");
   printf("Primeiro numero: ");
   scanf("%d", &a);
   printf("Segundo numero: ");
   scanf("%d", &b);
   printf("Terceiro numero: ");
   scanf("%d", &c);


    if ( a > b)
    {
        maior=a;
        menor=b;
        intermediario=c;

    }
    else
    {
        maior = b;
        menor = a;
        intermediario=c;
    }
    if (c > a)
    {
       maior=c;
       menor=a;
       intermediario=b;
    }
    else
    {
        maior=a;
        menor=c;
        intermediario=b;
    }
    if (b > c)
    {
        maior=b;
        menor=c;
        intermediario=a;
    }
    else
    {
        maior=c;
        menor=b;
        intermediario=a;
    }


    printf("maior: %d,intermediario: %d, menor: %d", maior , intermediario, menor);


   system("pause");
   return 0;
}

 

Link para o comentário
Compartilhar em outros sites

if ( a > b)
    {
        maior=a;
        menor=b;
        intermediario=c;

    }
    else
    {
        maior = b;
        menor = a;
        intermediario=c;
    }

Se a for maior que b, não significa que ele necessariamente é o maior, tampouco que b é o menor. Exemplo: a = 5, b = 3, c=10 - a é maior que b, mas o maior é c. Outro exemplo: a = 5, b = 3, c=1 - neste caso, a é o maior, mas b não é o menor.

você tem que comparar ao pares e verificar se a é maior que b e que c ao mesmo tempo:

if ((a > b) && (a > c)) 
{
  maior = a;
  if (b > c) 
  {
  	intermediario = b;
    menor = c;
  } else
  {
    intermediario = c;
    menor = b;
  }
}
 

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!