编写一个函数实现n^k,使用递归实现
我们需要考虑k的取值:
(1)k=0时,结果肯定为1。
(2)k=1时,结果为n。
(3)k>1时,则需要k个n相乘。
#include<stdio.h>
#include<windows.h>
#pragma warning(disable:4996)
int Caret (int n, int k)
{
if (k = 0){
return 1;
}
else if (k == 1){
return n;
}
else{
return n*Fact(n, k - 1);
}
}
int main()
{
int n = 0;
int k = 0;
printf("请输入n和k:");
scanf("%d %d", &n,&k);
Caret(n,k);
int ret = Caret(n,k);
printf("%d^%d=%d\n", n, k, ret);
system("pause");
return 0;
}
运行结果: