O Sistersinspirit.ca facilita a busca por soluções para perguntas cotidianas e complexas com a ajuda de nossa comunidade. Nossa plataforma de perguntas e respostas conecta você com especialistas prontos para fornecer informações precisas em diversas áreas do conhecimento. Junte-se à nossa plataforma de perguntas e respostas para conectar-se com especialistas dedicados a fornecer respostas precisas para suas perguntas em diversas áreas.

Linguagem C
Boa noite, minha duvida aqui é saber se fiz esse exercicio correto (Não sei se entendi bem sobre Sub-Rotina)
//Desenvolva um programa que crie uma sub-rotina para calcular o valor da potencia de um numero qualquer
#include
#include
int pot,x,y;
void soma(){
printf ("Digite um numero e a potencia que deseja:");
scanf ("%d%d",&x,&y);
pot = pow(x,y);
printf ("Potencia de %d elevado a %d = %d",x,y,pot);
}
int main(){ soma(); return 0;
}


Sagot :

Resposta:

#include <stdio.h>

int calcPotencia(int base, int expoente){

   if(expoente==1){

       return base;

   }

   return base*calcPotencia(base,expoente-1);

}

int main()

{

   int base,expoente,potencia;

   printf("Digite o numero e o expoente que deseja:\n");

   scanf("%d %d",&base,&expoente);

   potencia = calcPotencia(base,expoente);

   printf("%d^%d = %d\n",base,expoente,potencia);

   return 0;

}

Explicação:

Sua resposta está tecnicamente certa, mas se quiser dar uma incrementada, faz uma função recursiva que nem essa que eu coloquei aí em cima ao invés de usar direto o comando pow... É mais trabalhoso mas pra nível de aprendizado é bem interessante!