true c0d3

04/12/2009

Recursividade: Somar intervalo entre dois números

Filed under: C/C++, Programação — Etiquetas: — ceb10n @ 3:56 pm

Irei postando ao longo do tempo, alguns exercícios da faculdade que fiz recentemente.

Escreva uma função recursiva que calcule a soma de todos os números compreendidos entre os valores A e B passados por parâmetro.

/*=============================================================================*
* includes                                                                     *
*=============================================================================*/

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

/*=============================================================================*
* declaracoes                                                                  *
*==============================================================================*
/*-----------------------------------------------------------------------------*
* declaracoes - prototipos de funcoes                                          *
*-----------------------------------------------------------------------------*/

int somaNumeros(int, int);

/*-----------------------------------------------------------------------------*
* funcao "main"                                                                *
*-----------------------------------------------------------------------------*/

int main(int argc, char *argv[]) {   
    
    int iNumA = 0, iNumB = 0, ret = 0;
    
    printf("Digite o valor do numero A: ");
    scanf("%d", &iNumA);
    printf("\nDigite o valor do numero B: ");
    scanf("%d", &iNumB);
    if (iNumA < iNumB)
       ret = somaNumeros(iNumA, iNumB);
    else
        ret = somaNumeros(iNumB, iNumA);
    
    printf("\n\nResultado da soma do intervalo dos dois numeros: %d", ret);
    
    system("pause");
    
    return 1;
}

/*-----------------------------------------------------------------------------*
* corpo das funções - somaNumeros                                              *
*-----------------------------------------------------------------------------*/

int somaNumeros(int iNumA, int iNumB) {
    if (iNumB == iNumA + 1)
       return iNumA + iNumB;
    else
        return  iNumA + somaNumeros(iNumA + 1, iNumB);
}

Deixe um Comentário »

Ainda sem comentários.

RSS feed para os comentários a este artigo. TrackBack URI

Deixar um comentário

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Modificar )

Imagem do Twitter

You are commenting using your Twitter account. Log Out / Modificar )

Facebook photo

You are commenting using your Facebook account. Log Out / Modificar )

Connecting to %s

Tema: Shocking Blue Green. Blog em WordPress.com.

Seguir

Get every new post delivered to your Inbox.