版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
思路:
实现计算n的k(k>=0)次方,一共有三种情况,分别是:
k=0时,return 1;
k=1时,return -1;
k>1时, return n*sq(n, k - 1);
在sq()函数中实现这些功能,在main()函数中调用即可。
源程序:
#include<stdio.h>
#include<windows.h>
int sq(int n, int k)
{
if (k == 0){
return 1;
}
else if (k == 1){
return n;
}
else {
return n*sq(n, k - 1);
}
}
void main()
{
int n = 0;
int k = 0;
printf("请输入您要计算的数 > ");
scanf_s("%d", &n);
printf("请输入您要计算该数的多少次方 > ");
scanf_s("%d", &k);
int result = sq(n, k);
printf("%d的%d次方是%d", n, k, result);
printf("\n");
system("pause");
}
运行结果: