逻辑图先奉上
还是先搭个代码的框架出来
//n的k次方
int main()
{
int n = 0;
int k = 0;
printf("请输入你的n和k:");
scanf("%d %d", &n, &k);
int value = calculate(n,k);//需要封装一个计算函数
return 0;
}
int calculate(int n,int k)
{
if (k == 1)
{
return n;
}
else
{
return n * calculate(n, k - 1);
}
}
int main()
{
int n = 0;
int k = 0;
printf("请输入你的n和k:");
scanf("%d %d", &n, &k);
int value = calculate(n,k);
printf("%d", value);
return 0;
}
这样代码就完成了吗?我们输入n 或 k等于 0时报错了怎么办
int calculate(int n,int k)
{
if (n == 0)
{
return 0;//0的次方都是0
}
if (k == 0)
{
return 1;//任意数的0次方都是1,0除外
}
if (k == 1)
{
return n;
}
else
{
return n * calculate(n, k - 1);
}
}
//n的k次方
int main()
{
int n = 0;
int k = 0;
printf("请输入你的n和k:");
scanf("%d %d", &n, &k);
int value = calculate(n,k);
printf("%d", value);
return 0;
}
代码这样就算大功告成了,希望有帮助到你