其实在绝大多数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。
在这个程序里面,我们可以使用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
|