Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
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
Postado (editado)

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

 

Editado por devair1010
  • Curtir 1
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)

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

 

Editado por MatheusINF
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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

@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

Certo era isso mesmo galera, vlwww

  • Curtir 1
  • Obrigado 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






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

×