扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
power在C语言中没有特别的含义,既不是关键字也不是库函数的函数名。
成都创新互联长期为数千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为新田企业提供专业的成都做网站、成都网站设计,新田网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
可能是编程人员自定义的一个变量名或函数名。
举例如下:
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
返 回 值:计算结果
如:
double x = 2, y;
y = pow(3.14, x); // 计算3.14的平方
两个问题:
一个是power内的,既然用了嵌套就不需要用循环,用了循环就不用嵌套。
二是输入的格式,m是double,那么格式要用%lf,而不是%f,否则不能正确获得输入值。
另外,按照原程序中scanf的写法,输入时一定要以“,”分隔两数(不能以空格分隔),比如:5,2。
程序修改如下(都没考虑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 power(double x,int n)
{
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));
}
C语言中计算指数函数使用pow,不是power,两个参数都是double类型的,第一个是底数,第二个是指数。例如pow(3,0.5)表示3的0.5次方,就是3开平方。
pow()函数用来求x的y次幂,x、y及函数值都是double型 ,其原型为:double pow(double x, double y)。
实例代码如下:
#includestdio.h
#includemath.h
void main()
{
double x = 2, y = 10;
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)。
参考资料来源:百度百科-POW
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 power(unsigned int base, unsigned int k=2)
{
unsigned int ans = 1, i;
for (i = 0; i k; ++i){
ans *= base;
}
return ans;
}
int main()
{
printf ("%u,", power(2));
printf ("%u,", power(2, 0));
printf ("%u,", power(2, 1));
printf ("%u,", power(2, 2));
printf ("%u,", power(2, 3));
printf ("%u,", power(2, 4));
printf ("%u,", power(3));
printf ("%u,", power(3, 3));
printf ("%u,", power(3, 4));
return 0;
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流