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

Exibir pares e ímpares


Mariana Cipriani

Pergunta

Problema: 

 Escreva um programa que leia 5 números naturais do usuário, e que em seguida os imprima de volta na tela, primeiro os pares e depois os ímpares:

Consigo somente ler, e depois não sei mais o que fazer

#include<stdio.h>

int main(void)
{

unsignedint a, b, c, d, e

printf("Digite o primeiro numero:\n");
scanf("%u", &a);

printf("Digite o segundo numero:\n");
scanf("%u", &b);

printf("Digite o terceiro numero:\n");
scanf("%u", &c);

printf("Digite o quarto numero:\n");
scanf("%u", &d);

printf("Digite o quinto numero:\n");
scanf("%u", &e);

 

Como resolver??

 

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

5 respostass a esta questão

Posts Recomendados

  • 0

vc deve usar arrays.
Para poder ler 5 numeros:

#include<stdio.h>

int main() {
    int array[5] = {0}; //Reservando memoria para 5 inteiros que iniciam com o valor de 0
    int i;
    
    //pedindo 5 numeros
    for (i = 0; i<5; i++) {
        printf("Entre com o %d\xA7 numero: ",i+1 );
        scanf("%d%*c", &array[i]);
        
    }
    
    
    getchar(); // pausa
    return 0;
}


Agora para poder imprimir pares ou impares devemos usar o operador modulo %. O operador modulo retorna o resto de uma divisão, é dizer se eu faço 11/2 a resposta é 5, mas se faço 11%2 a resposta é 1, se o numero for par, qualquer numeroPar % 2 será igual a zero, ou seja n4ao há resto, então:

if(numero % 2 == 0) imprime par

E

if(numero % 2 != 0) imprime ímpar

 

#include<stdio.h>

int main() {
    int array[5] = {0}; //Reservando memoria para 5 inteiros que iniciam com o valor de 0
    int i;
    
    //pedindo 5 numeros
    for (i = 0; i<5; i++) {
        printf("Entre com o %d\xA7 numero: ",i+1 );
        scanf("%d%*c", &array[i]);
        
    }
    
    //imprime pares
    printf("Pares: ");
    for (i = 0; i<5; i++) {
        if(array[i]%2==0){
            printf("%d ", array[i]);
            
        }
    }
    
    printf("\n\n");
    
    //Imprime impares
    printf("Impares: ");
    for (i = 0; i<5; i++) {
        if(array[i]%2!=0){
            printf("%d ", array[i]);
            
        }
    } 
    
       
    printf("\n");
    getchar(); // pausa
    return 0;
}

Guarde esse exemplo e recorde:
Qualquer numero % 2 e o resultado sobrar 0, ou seja, for igual a zero, é par, se não é ímpar.

Link para o comentário
Compartilhar em outros sites

  • 0

é a mesma coisa, a formula é a mesma.
se vc tem um numero:
int n1 = 22;

vc aplica a formula:
if (n1 % 2 == 0) printf("%d", n1);

faça isso para os 5 numeros.
E para o impar:
int n1 = 33;
if (n1 % 2 != 0) printf("%d", n1);

Vc tem que pensar que "if (n1 % 2 == 0) printf("%d", n1)"  é como dizer: Se o resto da divisão de n1 dividido por 2 é igual a zero então imprime porque é par.

E "if (n1 % 2 != 0) printf("%d", n1)": Se o resto da divisão de n1 dividido por 2 for diferente de zero então imprima pq é ímpar.

Entendeu? Vc pode ler unsigned int a, b, c, d, e... e fazer isso que expliquei antes para cada um deles. Faça a prova e me diga como foi. ;)
 

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

  • 0

Fiz desse jeito e não consegui, aparem uns números estranhos na saída :(

 

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

    printf("Impares:\n");
    if (a%2!=0) {
    printf("%u\n", &a);
    }
    if (b%2!=0) {
    printf("%u\n", &b);
    }
    if (c%2!=0) {
    printf("%u\n", &c);
    }
    if (d%2!=0) {
    printf("%u\n", &d);
    }
    if (e%2!=0) {
    printf("%u\n", &e);
    }
    return(0);
    
}

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...