十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
用牛顿迭代公式Xn+1=Xn-f(Xn)/f'(Xn)
创新互联公司主要从事成都网站设计、网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务镇安,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
其中f(X)=X^3-a
float CubeRoot(float a){
float root=1.0; /*迭代初始值,随便取一个数,但不要是0*/
while(fabs(root*root*root-a)=0.0001) /*设定迭代精确度,如果精度比较高的话可以把root定义为double,防止死循环。或者可以在循环内部根据迭代次数调整精度*/
root=root-(root*root*root-a)/(3*root*root);
return root;
}
int main(void){
float a;
float CubeRoot(float a);
printf("Please input a: "); scanf("%f",a);
printf("\nThe cube root of %f is %f",a,CubeRoot(a));
return 0;
}
double pow(double x,double n)
是math.h里一函数,求x的n次幂
x必须0,
立方根就是1/3次幂了
但这里要用3.0或1.0/3,否则成了整除结果为1
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言中sqrt函数是指的开方运算函数,得到的结果是函数变量(可以是数值,也可以是变量名)的算术平方根。
c语言中,开三次方用pow函数。即double pow(double number, double power)。
pow函数的主要作用是返回给定数字的乘幂。POWER函数的语法为:double pow(double number, double power),其中参数number表示底数;参数power表示指数。
两个参数可以是任意实数,当参数power的值为小数时,表示计算的是开方;当参数number取值小于0且参数power为小数时,POWER函数将返回-1错误值。
扩展资料:
C/C++提供以下几种pow函数的重载形式:
1、double pow(double X,int Y)。
2、float pow(float X,float Y)。
3、float pow(float X,int Y)。
4、long double pow(long double X,long double Y)。
5、long double pow(long double X,int Y)。
使用的时候应合理设置参数类型,避免有多个“pow”实例与参数列表相匹配的情况。
其中较容易发生重载的是使用形如:
int X,Y;
int num=pow(X,Y);
这是一个比较常用的函数,但是编译器会提醒有多个“pow”实例与参数列表相匹配。
可以使用强制类型转换解决这个问题:num=pow((float)X,Y)。
sqrt()是开平方
开立方也就是求1/3次方,所以可以用pow()函数:
例如求8的开立方。
double a=pow(8,1.0/3);
pow(x,n)函数不是开方,而是乘方,即x的n次方