Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Soma - função recursiva


Lukas Couto

Pergunta

Mais uma vez venho aqui pedir ajuda...estou com um programa que pede para calcular os numeros inteiros entre dois extremos A e B fornecidos pelo usuario, não podendo somar os extremos...eu e um amigo meu chegamos a certo ponto...mas o programa não retorna o valor esperado...gostaria de saber onde se encontra o erro...

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

int soma(int a, int B);
int main()
{
  int a, b, temp;
  
  printf("Entre com o valor do extremo A: ");
  scanf("%d", &a);
  printf("Entre com o valor do extremo B: ");
  scanf("%d", &b);
  
  if(a<b)           
   printf("A soma e: %d\n", soma(a, B));  
   
  else
  { 
   temp=a;
   a=b;
   b=temp;
   printf("A soma e: %d\n", soma(a, B));
  } 
          
  system("PAUSE");    
  return 0;
}

int soma(int a, int B)
{
 int somafinal=0, n;
 n=a;
 if(a==B)
  return 1;
 else
  somafinal= n + soma(a+1, B);
  {return (somafinal);}
}

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

if(a==B)
  return 1;
Quando a for igual a B, você deve retornar 0 ao invés de 1. Ao retornar 1, o a função sempre retornará 1 a mais que a soma. Já para evitar que o número inicial seja contado, você deve chamar a função com a+1 ao invés de a. O código pode ficar assim:
if(a<b)
    printf("A soma e: %d\n", soma(a + 1, b));  
else{
   temp=a;
   a=b;
   b=temp;
   printf("A soma e: %d\n", soma(a + 1, b));
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...