其实在绝大多数C语言编译器内部是有幂函数这个函数的,具体的指令是pow(a,b),这个指令实现的功能就是求解a^b的值,也就是求解a的b次方。

例如,假如我们要求解6的7次方,并把最终的结果存入变量result,那么我们可以这样子写代码:

include <math.h> //添加数学运算的头文件

result= pow(6,7); //求解6的7次方,结果存入result

但是,如果我们自己要编写这样的一个幂函数该怎么样编写呢?

首先我们需要进行一些数学运算方法的思考,假如要求解x^n, n>0且n为整数。那么应当是这样的:

当n=0时,x^n=x^0=1;

当n=1时,x^n=x^1=x;

当n>1时,x^n=x*x…,就是把n个x相乘。这样就可以得到本案中的幂函数的计算流程如图 1。

c语言有没有计算幂的函数(怎么用C语言编写一个求解幂函数的程序)(1)

在这个程序里面,我们可以使用if条件指令进行判断在n=0,n=1或者n>1的情况下分别进行计算。

特别指出的是,当n>1时,用到for循环函数,n有多大就利用for循环进行(n-1)次的乘法运算。(承接软件开发业务-Q-Q: 2531-26-3726)那么编写的程序如下:

unsigned int pow1(unsigned int x,unsigned int n) //求解幂函数,n为正整数

{

unsigned char i=0;

if(n==0) x=1; //当n=0时,x=1

else

{

if(n==1) x=x; //当n=1时,x=x

else //当n>1时,用for循环多次相乘

{

for(i=2;i<=n;i )

{x=x*x;

}

}

}

return x; //将计算结果返回

}

在程序中其他部分调用函数pow1就能进行幂函数运算。例如求解9的11次方,结果存入变量result,那么可以像这样调用指令pow1进行计算:

result=pow1(9,11);

这样自己编写的一个幂函数就完成了。更多精彩内容,尽在微-信公-众号:yonkotech

,