Ir ao conteúdo
  • Cadastre-se
MatheusINF

C Como fazer a soma

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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);

 

  • Curtir 1
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

@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

  • Curtir 1
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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;

 

  • Curtir 1
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

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

  • Obrigado 1
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×