Ir ao conteúdo

Posts recomendados

Postado

Olá, pessoal!

Estou tentando construir um programa nessas condições:

"Faça um programa que leia um número inteiro positivo par N e imprima todos os números pares de 0 até N em ordem crescente."

 

De acordo com as aulas atuais, usar o "for" seria o mais adequado, mas não sei como fazê-lo trazer apenas os pares. Podem ajudar?

 

Meu código atual está assim:

#include <stdio.h>
#include <stdlib.h>

int par(int i, int n);

void main()
{
    int i, n;
    
    printf("Insira um numero inteiro: ");
    scanf("%d", &i);
    
    par(i, n);  
}

int par(int i, int n)
{
    if(i %2 == 0)
    {
        for(n=0; n >= i; n+2);
        printf("Numeros pares: %d", n);
    }    
}

 

Postado

Tire o ";" depois do "for (...".

O incremento (passo) também estava errado, o certo é "n=+2".

Não precisa disso "if(i %2 == 0)", pois o i não necessariamente deve ser par.

A condição de parada e "n<=i", ou seja, executa o for enquanto n for menor ou igual a i.

A variável "n" pode ser local. 

int par(int i)
{
 	int n;
    for(n=0; n <= i; n=+2)
        printf("Numeros pares: %d", n);
        
}

 

  • mês depois...
Postado
Em 12/03/2019 às 13:44, Flávio Pedroza disse:

Tire o ";" depois do "for (...".

O incremento (passo) também estava errado, o certo é "n=+2".

Não precisa disso "if(i %2 == 0)", pois o i não necessariamente deve ser par.

A condição de parada e "n<=i", ou seja, executa o for enquanto n for menor ou igual a i.

A variável "n" pode ser local. 


int par(int i)
{
 	int n;
    for(n=0; n <= i; n=+2)
        printf("Numeros pares: %d", n);
        
}

 

Agradeço o apoio.. no final das contas consegui resolver da seguinte forma:

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

int par(int i);

void main()
{
    int i;
    
    printf("Insira um numero inteiro: ");
    scanf("%d", &i);
    
    par(i);  
}

int par(int i)
{
		int n;
	
    if(i >= 0)
    {
    	printf("Numeros pares: ");
        for(n=0; n <= i; n++)
        {
        	if(n % 2 == 0)
        	printf("\t %d", n);
		}
    }    
}

 

Postado

@Flávio Pedroza Olá. Não seria isso:

printf("Numeros pares: ")
for (n = 0; n <= i; n += 2) { // n += 2
    printf("%d ", n);
}

Creio que sim :)

 

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!