C里面函数原型是double pow(double,double),需要包含math.h。
C++里面推荐这样用(包含ISO C++从C继承的数学函数库,但头文件不带.h扩展名且前面加c,需要用namespace std,函数原型与C中相同):
#include<cmath>
//添加需要包含的头文件...
using namespace std;
int main()
{
double d,a=2,b=3;
d=pow(a,b);
//d=a^b
//添加代码...
return 0;
}
另外如果使用底数为e,可以用double exp(double),用法与以上类似
要不使用库函数,求幂指数,只能靠自己写该功能的函数。
即按照数学规则,将a重复乘b次,即得到a的b次幂。
1 对于0次幂,直接返回1
2 对于正数,按照参数b进行乘方。
3 对于负数,先按照参数b的绝对值进行乘方,再求倒数。
代码如下:
double my_pow(doubel a, int b)
{
int s=0,i;
double r = 1;
if(b == 0) return 1;
if(b<0)
{
b*=-1;
s = 1;
}
for(i = 0; i < b; i ++)
r *= a;
if(s)r=1/s;
return r;
}