power在C语言中没有特别的含义,既不是关键字也不是库函数的函数名.
可能是编程人员自定义的一个变量名或函数名.
举例如下:
int?power;??//?定义一个int类型的变量,变量名为power
double?power;?//?定义一个double类型的变量,变量名为power
int?power(int?a,?int?b)?//?//?自定义一个函数,函数名为power
{
return?a+b;
}
C语言中只有pow库函数,没有power库函数.
函数原型:double pow(double x, double y);
功 ? ? ? 能:计算x^y
返 回 ?值:计算结果
如:
两个问题:
一个是power内的,既然用了嵌套就不需要用循环,用了循环就不用嵌套.
二是输入的格式,m是double,那么格式要用%lf,而不是%f,否则不能正确获得输入值.
程序修改如下(都没考虑0的0次方这种情况):
#include stdio.h
double power(double x,int n)
{ //int a;
//for(a=1;a=n;a++) 用递归就不需要循环
if(n==0) return 1;//0次方
else return x*power(x,n-1);//递归为x*x的n-1次方
// printf("%f",power(x,n));不用输出了,否则又调用一次power
/* 如果要用循环,可以用下面这段程序
double x_n = 1;
while(n--) x_n *= x;
return x_n;
}*/
int main()
double m;
int b;
scanf("%lf,%d",m,b);//m是double,所以要用%lf,而不是%f;输入时以","分隔两数
printf("%f", power(m,b));
pow()函数用来求x的y次幂,x、y及函数值都是double型 ,其原型为:double pow(double x, double y).
实例代码如下:
#includestdio.h
#includemath.h
void main()
printf("%f\n",pow(x, y));
return 0;
扩展资料:
C++提供以下几种pow函数的重载形式:
double pow(double X,int Y);
float pow(float X,float Y);
float pow(float X,int Y);
long double pow(long double X,long double Y);
long double pow(long double X,int Y);
使用的时候应合理设置参数类型,避免有多个"pow"实例与参数列表相匹配的情况.
其中较容易发生重载的是使用形如:
int X,Y;
int num=pow(X,Y);
这是一个比较常用的函数,但是编译器会提醒有多个"pow"实例与参数列表相匹配.
可以使用强制类型转换解决这个问题:num=pow((float)X,Y).
power(int x ,int N) // 求x的N次方
int i,xsum=1;
for(i=N;i0;i--)
xsum=xsum*x;
return xsum;】
完整代码如下:
#include?stdio.h
unsigned?int?ans?=?1,?i;
for?(i?=?0;?i?k;?++i){
ans?*=?base;
return?ans;
int?main()
return?0;
以上就是土嘎嘎小编为大家整理的c语言编写power函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!