C语言实现N^k

编写一个函数实现n^k,使用递归实现 :

int My_pow(int x, int n)
{
	assert(n >= 0);
	if(0 == n)
	{
		return 1;
	}
	else if(1 == n)
	{
		return x;
	}
	else
	{
		return x * My_pow(x, n - 1);
	}
}

编写一个函数实现n^k,非递归实现:

int My_pow0(int x, int n)
{
	assert(n >= 0);
	int ret = 1;
	while(n--)
	{
		ret *= x;
	}
	return ret;
}

测试代码:

int main()
{
	int n = 0;
	int k = 0;
	printf("请计算输出N^k,输入n,k:\n");
	scanf("%d%d",&n,&k);
	printf("运算结果为:");
	printf("%d\n",My_pow(n,k));

	return 0;
}

猜你喜欢

转载自blog.csdn.net/USA_AM_1966/article/details/84582558