c语言pow函数是什么意思(C语言实现幂函数)

时间:2024-11-02 10:30:06

C语言中math.c库文件提供了幂函数pow()。但今天我们来简单实现一个幂函数。我们分为几个步骤来实现

一、分析算法

求正整数的幂,需要把整数n相乘,如2的3次幂,即2*2*2,将整数2相乘3次。多个数反复执行相同的操作,自然就会想到使用循环。如何进行循环,看如下代码示例

for(i = 1; i<=p;i++)

pow *= n;

上述示例中,n值表示的是所求的数,pow则是n的p次幂,p为幂。带入数字进行验证,假设n=2,p=3,表示求2的3次幂

第一次循环,pow = pow*n,即pow = 1*2 = 2

第二次循环,pow = pow*n,即pow =2 * 2 = 4

第三次循环,pow = pow*n,即pow = 4 * 2 = 8

二、函数实现

使用函数实现,主要考虑两个问题:

1.函数的参数是什么

函数的参数可以从功能考虑,主要是求某个数的多少次方,那参数其实就两个:一个是数值,另一个是多少次幂。在这个例子中,使用double类型表示所求数值,可以求整数或浮点数;使用int表示求整数次幂。

2.函数的返回值是什么

在该例子中,使用函数后肯定会返回一个结果,对于整数是整型,对于浮点数是double型,所以返回值使用return返回double类型。

所有函数声明如下:

double power(double n, int p);

三、代码实现

#include<stdio.h>
double power(double n, int p);
int main(void){
	double x, xpow;
	int exp;	
	printf("请输入数值及整数次方:");
	while(scanf("%lf %d",&x,&exp) == 2){
		xpow = power(x,exp);
		printf("%.3g 的 %d 次方是 %.5g\n",x,exp,xpow);
		printf("输入新的数值对,或使用q退出.\n");
	}
}
double power(double n, int p){
	double pow = 1;
	int i;
	for(i = 1;i<=p;i++){
		pow *= n;
	}
	return pow;
}

运行结果: