Ir ao conteúdo

Posts recomendados

Postado

Fala galera eu preciso fazer um algoritmo que imprima todos números  impares entre 86 e 1000 e calcule a sua soma, eu até consegui fazer aparecer todos números impares entre 86 e 1000 porém não tenho ideia de como fazer a soma de todos esses números, alguem ai sabe como fazer?

 

#include <stdio.h>

int main()
{
   // VARIAVEIS
    int i,soma;

    // INICIO
    for(i=87; i<=1000; i=i+2){
        printf("\n%i",i);
    }
   
    printf("\n\n---------------------------------------------------------");
    printf("\nA soma dos numeros impares entre 87 e 1000 e' de:   \n",);
    printf("---------------------------------------------------------");

    return 0;
}

 

  • Curtir 1
Postado

@MatheusINF    para saber se um número é par ou ímpar você pode usar a função mod que em c é % , assim  se o número for impar você soma ele com a variável soma e acumula o resultado na variável soma.  isso poderia ser assim  :

soma=0;
for(i=86;i<=1000;i++)
    if (i%2!=0){
        printf("%d ",i);
        soma+=i;
    }
printf("a soma total eh--> %d\n\n",soma);

 

  • Amei 1
Postado

@devair1010Ein eu fiz com um número menor que 1000 pra testar a soma e sempre da uns números a mais independente da conta, aqui por exemplo fiz de 86 a 90 que são "87 e 89=176", porém no algoritmo sempre da 184 e sempre tem alteração do valor certo, porque isso?

#include <stdio.h>

int main()
{
   // VARIAVEIS
    int i,soma;

    // INICIO
    for(i=86; i<=90; i++)
        if(i%2 !=0){
        printf("\n%i",i);
        soma+=i;
    }

    printf("\n\n---------------------------------------------------------");
    printf("\nA soma dos numeros impares entre 87 e 1000 e' de:  %i  \n",soma);
    printf("---------------------------------------------------------");

    return 0;
}

 

  • Amei 1
Postado

@MatheusINF  Inicialize a sua variável soma com o valor '0'. Aqui deu o resultado q você espera no exemplo onde falou q está dando erro. 176

Postado

@MatheusINF    isso é por que você não inicializou a variável soma, como eu coloquei ali no código,  e sendo assim essa variável soma ao ser criada foi reservado um espaço na memória do pc, para servir como reservatório de dados para ela , mas nesse local reservado provavelmente já havia alguma guardada ali,  então quando ele soma o número à variável soma ele vai somar com esse valor que já havia e assim dá erro,  por isso precisa inicializar a variável que foi criada dentro da função main, geralmente se inicializa com valor zero,  já as variáveis que são criadas lá em cima antes da main , elas são inicializadas automaticamente  e também  com valor zero  .    então coloque assim antes do for   

soma=0;

 

  • Amei 1
Postado

@devair1010  Realmente você já havia feito isso no código q passou, antes mesmo da dica q dei, inicializando a variável soma com 0.

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!