Ir ao conteúdo

Posts recomendados

Postado

Gente eu tenho que fazer uma função recursiva em C pra calcular uma potencia. Eu fiz mas ele nao esta fazendo a conta, nao sei o que esta de errado. Alguem  pode me ajudar?

<CODE>
int potencia (int num, int exp){
    if  (exp == 0) {

        return 1;

    }
    else {
    
        num = num * potencia (num, exp-1);
        return num;
        }
}


int main (){
    
    int numero, expoente, resultado;
    printf ("Informe o numero da base: ");
    scanf ("%d",  &numero);
    printf ("Informe o expoente: ");
    scanf ("%d", &expoente);
    resultado = potencia (numero, expoente);
    printf ("Resultado da potencia e: ", resultado);
    
}

 

  • Curtir 1
Postado

@Victor Vilardo    os cálculos estão funcionando ,  porém você não colocou o especificador no printf  %d ,  e assim não mostra nenhum resultado , e então seu código com algumas modificações poderia ser assim  :

#include <stdio.h>
#include <windows.h>
int potencia(int,int);
int main()
{
    int numero, expoente, resultado;
    printf("Informe o numero da base: ");
    scanf ("%d",  &numero);
    printf("Informe o expoente: ");
    scanf ("%d", &expoente);
    resultado = potencia (numero, expoente);
    printf("\nResultado da potencia e: %d\n\n\n",
           resultado);
    FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));       // aqui é igual o comando getch();
    WaitForSingleObject(GetStdHandle(STD_INPUT_HANDLE), INFINITE); // porém sem usar a biblioteca conio.h
    return 32768;                                                  
}
int potencia (int num, int exp)
{
    if( exp == 0 )
    {
        return 1;
    }
    else
    {
        num = num * potencia( num, exp-1 );
        return num;
    }
}

 

  • Curtir 1
Postado
29 minutos atrás, devair1010 disse:

@Victor Vilardo    os cálculos estão funcionando ,  porém você não colocou o especificador no printf  %d ,  e assim não mostra nenhum resultado , e então seu código com algumas modificações poderia ser assim  :


#include <stdio.h>
#include <windows.h>
int potencia(int,int);
int main()
{
    int numero, expoente, resultado;
    printf("Informe o numero da base: ");
    scanf ("%d",  &numero);
    printf("Informe o expoente: ");
    scanf ("%d", &expoente);
    resultado = potencia (numero, expoente);
    printf("\nResultado da potencia e: %d\n\n\n",
           resultado);
    FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));       // aqui é igual o comando getch();
    WaitForSingleObject(GetStdHandle(STD_INPUT_HANDLE), INFINITE); // porém sem usar a biblioteca conio.h
    return 32768;                                                  
}
int potencia (int num, int exp)
{
    if( exp == 0 )
    {
        return 1;
    }
    else
    {
        num = num * potencia( num, exp-1 );
        return num;
    }
}

 

caramba kkk nao acredito que esqueci algo estão simples 😅 muito obrigado

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!