double potenciacao(int base, int expoente) { if(expoente < 0) { expoente *= -1; return 1/(potenciacao(base, expoente)); } else if(expoente==0) { return 1; } else if(expoente==1) { return base; } else { return (base*potenciacao(base,expoente-1)); } }
int main() { //declaração de variáveis int base, expoente; //lê o valor da base fornecida pelo usuário printf("Digite o valor da base: \n"); scanf("%d", &base); //lê o valor do expoente fornecida pelo usuário printf("Digite o valor do expoente: \n"); scanf("%d", &expoente); printf("Resultado: %lf.\n", potenciacao(base, expoente)); return 0; }
//case 3 void executarPotenciacao(Lista *base, int *expoente, Lista *resultado) { if(*expoente < 0 || tamanho(base) == 0) { printf("Para efetuar a potenciacao, voce deve escolher primeiro os valores da Base e do Expoente. \n"); printf("Tente novamente.\n"); return; } resultado = potenciacao(base, *expoente); printf("\nResultado: "); imprimir(resultado); printf("\n"); printf("Para calcular uma nova potencia, pressione qualquer tecla. \n"); getch(); }