Ir ao conteúdo

Posts recomendados

Postado

Estou fazendo um exercícios que tem como enunciado: Serão fornecidos números inteiros, o programa deve recebe-los até que algum número negativo seja inserido. Considerando os números fornecidos, o programa deve imprimir o valor da soma de todos os pares (e apenas esses).  O meu código é o seguinte:

 

#include<stdio.h>

#include<stdlib.h>
 
int main () {
 
 
int i = 0;
 
int soma = 0;
 
scanf("%d", &i);
 
for (i = 0; i >=0; scanf("%d", &i))
{
    if(i%2==0)
    {
 
        soma = soma + i;
    }
}
printf("%d", soma);
return 0;
}
 
 
 
 
 
 
 
Gostaria de saber porque a soma deve ser escrita como soma+i ao invés de soma+1. Agradeço desde já.
Postado

@Igor Proença

 

 

Bom, a ideia é somar os números pares digitados e não contá-los. A variável i guarda o número digitado pelo usuário e sendo par será acumulado em soma.

 

Mas você precisa rever o programa, pois:

 

1) se você entrar com um número negativo inicialmente ele não vai terminar o programa;

 

2) se entrar com um número par como primeiro valor digitado, este será descartado da soma. Ex: 4 2 6

 

 

O problema é essa leitura antes do laço. Tente consertar por si, qualquer dúvida é só falar.

 

 

[ ]'s

Postado

Nossa,  muito obrigado por responder @LNW! Estou tentando achar uma maneira de deixar aquela leitura antes do laço correta, mas até agora não consegui. Teria como você me ajudar com isso? Tenho pouca experiência em programar em C, gostaria de saber também se você poderia me indicar um material de estudo pois estou aflito de não consegui fazer exercícios em prova. Obrigado!

Postado

Que tal colocar a leitura dentro do laço? Assim que um número negativo for digitado, o laço será terminado imediatamente.

#include <stdio.h>int main (){    int i = 0;    int soma = 0;    while(1)    {        scanf("%d", &i);        if (i < 0) break;        if (i % 2 == 0)            soma = soma + i;    }    printf("%d", soma);    return 0;}

[ ]'s

Visitante
Este tópico está impedido de receber novas respostas.

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