Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

tuasite

Mais uma ajuda amigos: Soma dos 1ºs N numeros

Mensagens Recomendadas

tuasite    0
tuasite

boas amigos mais um código simples e a dar me a volta a cabeça, a questao é assim: Desenvolva um algoritmo que calcule o somatório de 1 ate um numero N. Sendo o valor N um valor fornecido pelo utilizador.

O código que fiz é este mas não funciona e não da erra. :wallbash:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,n,soma;
printf("Digite um numero:\n");
scanf("%d",&n);
soma=0;
for (i=n;i<=1;i--)
soma=soma+i;
printf("A soma é %d ",i);
return 0;
}

Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
nata79    0
nata79

experimenta, no for, trocar esse "i <= 1" por" i >= 1".

dessa forma se o número que introduzires for maior que um o ciclo não vai ser executado e o resultado nunca seria o correcto.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
mogers    14
mogers

a condição no ciclo estava mal como já disseram, o teu problema é que estás a apresentar o valor da variavel 'i' em vez da soma :P

já agora, a soma duma série de 1 a N é  dada por N*(N+1)/2

int n,soma;
printf("Digite um numero:\n");
scanf("%d",&n);
soma = n * (n+1) / 2 ;
printf("A soma é %d ", soma );

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
tuasite    0
tuasite

Boas amigo o que me foi pedido foi isto, ate me foi dado o algoritmo:

Desenvolva um algoritmo que calcule o somatório de 1 ate um numero N. Sendo o valor N um valor

fornecido pelo utilizador.

NOME:Soma dos 1ºs N numeros.

i,n,soma:INTEIRO

INICIO

ESCREVER("Digite um numero:");

LER(n);

soma <- 0;

PARA i <- n ATE PASSO 1 FAZER

soma <- soma + i

FIMPARA

ESCREVER("A soma é",soma);

FIM

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
TheDark    0
TheDark

a condição no ciclo estava mal como já disseram, o teu problema é que estás a apresentar o valor da variavel 'i' em vez da soma :P

O problema é o que ele disse. Se fizeres printf da variável soma em vez de i vais ver que dá bem.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
birder    0
birder

#include <stdio.h>
#include <stdlib.h> 

int main(){
    int a, N, soma=0;
    printf("Introduza o limite superior do somatorio:");
    scanf("%d", &N);
    soma=((1+N)*N)/2;/*somatorio de uma progressao aritmetica de razao 1*/
    printf("O valor do somatorio e: %d", soma);
    return 0;
    }

   

Aqui está a solução para o problema.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade