重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在C语言的头文件 math.h中定义了pow(x,y),返回结果是x的y次方。其中,x、y及函数值都是double型;具体使用时要先添加#includemath.h。
成都创新互联公司成立于2013年,是专业互联网技术服务公司,拥有项目成都做网站、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元阳东做网站,已为上家服务,为阳东各地企业和个人服务,联系电话:18980820575
在C++以及其他高级编程语言中都定义了此操作函数。C++中,乘方函数被定义在了头文cmath头文件下。具体使用时,需先引用头文件#include cmath。
对于64位长整型数据进行乘方计算,pow函数已无法满足其精度需要,这里需要通过长整型数的四则运算来实现。
乘方函数名称:pow(double,double), 具体参数中至少一方为float、double、long double类型。如计算5³;时, 直接使用 pow(5,3);返回结果即记为125。
C语言的乘方运算可以利用库函数pow。
pow函数原型:double pow( double x, double y );
头文件:math.h/cmath(C++中)
功能:计算x的y次幂。
参考代码:
#include stdio.h
#include math.h
int main()
{
int a=3,b=2;
double t = pow(a,b);//计算3的平方并输出
printf("%.0lf\n",t);
return 0;
}
/*
输出:
9
*/
C语言中没有乘方运算符,但有计算乘方的函数:pow
函数原型如下:
#include math.h //引用头文件
double pow(double x, double y) //函数定义方法
表示求x的y次方。
例:求3.2的5次方可写成 pow(3.2 , 5)
当然,你也可以自定义函数求乘方,例:
float power( float x,int n ) //自定义乘方函数
{ int i;
float s=1.0; //初始化变量s,用于存储最终结果值
for( i=1;i=n;i++ ) //利用循环进行计算,n次方就是把x乘上n遍
s*=x;
return s; //返回最终结果值
}
main()
{ // 定义变量n和x
int n;
float x;
// 准备输入数据,用来求x的n次方
printf("请输入x和n(输入时用空格或回车分隔): \n");
scanf("%f%d",x,n);
// 调用自定义power函数,输出最终结果
printf("\n%f的%d次方是:%f\n",x,n,power(x,n));
}
这是数据格式转换的问题。幂函数pow是用数值逼近的方法给出的,并不保证严格精确,同时执行效率也不高。(int)(99.999999999) = 99而不是100,所以得到99是有可能的。
建议你将 b=b+s[a]*pow(10,a-1);
改为 b = b * 10 + s[a];
这样就回避了数据格式的问题。尝试一下。