Ir para conteúdo
Fórum Script Brasil
  • 0

Problema na sintaxe


Mariana Cipriani

Pergunta

Problema: escreva 5 números inteiros e imprima o maior deles

#include<stdio.h>
int main (void)
{
    int a, b, c, d, e, aux;
    printf("Escreva cinco numeros inteiros:\n");
    scanf("%u", &a);
    scanf("%u", &b);
    scanf("%u", &c);
    scanf("%u", &d);
    scanf("%u", &e);
    
    aux=b, c, d, e;
    if(aux<a){
        printf("O maior numero e %d", a);
    }
    else
    aux=c, d, e;
    if(aux<b){
        printf("O maior numero e %d", b);
    }
    else
    aux=d, e;
    if(aux<c){
        printf("O maior numero e %d", c);
    }
    else
    aux=e;
    if(aux<d){
        printf("O maior numero e %d", d);
    }
    else{
        printf("O maior numero e %d", e);
    }

    
    return(0);
}

 

Porém, com essa sintaxe, sempre imprime o valor da variável e, e eu não consegui solucionar :(

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

vc pode declarar uma variável chamada
int maior = 0;
Dai vc lê por exemplo a variavel int a com scanf igual vc está fazendo, depois de ler faça o seguinte:
if(a>maior)
maior = a;

Logo repita para a variável b, depois c...

Por ultimo a variável "maior" vai conter o maior numero.

int maior=0, a,b,c,d,e;

scanf("%d", &a);
if(a>maior)
maior = a;

scanf("%d", &b);
if(b>maior)
maior = b;

...
repita para todas as variáveis. Logo por ultimo imprima "maior".

Link para o comentário
Compartilhar em outros sites

  • 0

Oiii, obrigada mais uma vez <3

O código ficou assim

#include<stdio.h>
int main (void)
{
    unsigned int a, b, c, d, e;
    int maior=0;
    printf("Escreva cinco numeros inteiros:\n");
    scanf("%u", &a);
    if(a>maior)
    maior = a;
    scanf("%u", &b);
    if(b>maior)
    maior = b;
    scanf("%u", &c);
    if(c>maior)
    maior = c;
    scanf("%u", &d);
    if(d>maior)
    maior = d;
    scanf("%u", &e);
    if(e>maior)
    maior = e;
    
    printf("O maior numero e %d", maior);
    
    return(0);
}

Mas tipo, a variável "maior" vai armazenando os valores assim, né?

int maior=0, a,b,c,d,e;
 

mas no fim, na impressão, como o printf "sabe" qual valor imprimir?

Link para o comentário
Compartilhar em outros sites

  • 0

vc tem varias formas de declarar múltiplas variáveis.

//Normal
int a;
int b;
int c;
...

Ou pode fazer isso na mesma linha:
int a, b, c...

O fato que faço:
int maior=0, a,b,c,d,e;

não quer dizer que a maior eu atribui o valor de a,b,c,d, e. quer dizer que declarei maior, a,b,c,d,e porem só dei valor inicial a maior.
Em outras palavras fazer int maior=0, a,b,c,d,e; é a mesma coisa que fazer:
int maior;
maior = 0;
int a;
int b;
int c;
int d;
int e;

Porem em uma só linha.

E não é a unica forma... olhe essa:

    int maior = 0,
        a,
        b,
        c,
        d,
        e;


Não confunda declaração com atribuição. ;)

Editado por vangodp
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...