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