Ir ao conteúdo
  • Cadastre-se

Posts recomendados

Postado
//Soma de n numeros primos
#include <stdio.h>
int main() {
	
	int numero, i;
	int soma_primos=0;
	
	double aux, soma = 0;
	
	printf("Quantidade de numeros: ");
	scanf("%d", &numero);
	for (i = 1; i <= numero; i++) {
	printf("Digite um numero: ");
	scanf("%lf", &aux);
	}
	if (numero%2==0){
		soma=soma+numero;	
		}else{
			soma_primos += numero;
		}
	printf("Soma dos numeros primos e: %.2f\n", soma_primos);
	return 0;
}	

Meu código compila e executa, porém não mostra o resultado

Se puderem me ajudar desde já agradeço

  • Obrigado 1
Postado

Bom dia,

 

Porque a chamada da função printf falha na conversão de dados

Perceba que 'soma_primos' é tipo int, porém o especificador no argumento da função espera um tipo float.

printf("Soma dos numeros primos e: %.2f\n", soma_primos);

 

Só precisa  especificador certo correspondente ao dado.

"

 

 

Extra:

Citação





if (numero%2==0){
		soma=soma+numero;	
		}else{
			soma_primos += numero;
		}

Aqui aconteceria a soma de pares e ímpares 

 

 

 

E quais seriam esses resultados? Qual é a entrada certa, a saída certa?

"

  • Obrigado 2
Postado

@Jonathan Lira     isso mesmo como o @mauro_b   disse , porém , não é só esse detalhe que vai resolver , e para isso precisa saber  qual o objetivo de seu código , o que você quer que ele faça , pois ali seu código pega vários valores para a variável  aux  , e não faz nada com ela , e logo em seguida verifica se a quantidade de números é par ou ímpar ,

  • Curtir 2
Postado

@Jonathan Lira

 

A expressão booliana na declaração condicional IF decide se o ‘número’ é ou não par, que resolveu metade do problema, para mais é preciso condicional que decide se o ‘ímpar’ é ou não primo e quando sim soma-lo.

//Soma de n numeros primos
#include <stdio.h>

//tipo de dado  descritivo
typedef int     primos;
typedef int     quantidade;
typedef int     decimal_int;

int main (void){
	
	//declarar variaveis e inicializar com padrão
	primos soma= 0; quantidade n= 0; decimal_int numero= 0;
	
	//pegar quantidade  'n'
	printf ("Quantidade de numeros: ");
	scanf ("%d", &n);
	
	//pegar 'n'  numeros e 'somar'  somente se primo
	for (quantidade i= 1; i <= n; i++) {
	    
	    //pegar numero
	    printf ("Digite um numero: ");
	    scanf ("%d", &numero);
	
	    //se numero e par  'continue'  pegue o proximo
	    if ((numero % 2) == 0) {
		    continue;	

	    }
	    //senao
	    else {
	        //teste de primalidade e somar
	        puts ("Teste");
	    }
	}
	//mostra soma
	printf("Soma dos numeros primos e: %d\n", soma);
	
	//fim
	return 0;
}	

 

A implementação de um teste de primalidade é parte crucial do problema, seu compromisso e deveras fácil, exemplo, complemente a partir da definição matemática.

  • Obrigado 1

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