重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用牛顿迭代公式Xn+1=Xn-f(Xn)/f'(Xn)
创新互联是少有的做网站、成都做网站、营销型企业网站、微信小程序定制开发、手机APP,开发、制作、设计、外链、推广优化一站式服务网络公司,从2013年成立,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评
其中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;
}
C语言中sqrt函数是指的开方运算函数,得到的结果是函数变量(可以是数值,也可以是变量名)的算术平方根。如输入m=sqrt(4);,则输出结果为2。或者对于变量a有赋值9,,则输入m=sqrt(9),输出结果为3.
需要注意的是以下三点:
sqrt函数运行的是结果是算术平方根,即不能运算处负数值,也不能输出虚数结果。如需要得到算术平方根中的负数值,则应该在sqrt函数前添加负号。
sqrt函数的参数必须是非负数值,如果是负数值,则输出会报错,即数值无效;如果参数是未定义的非数字变量,则按回车后也会报错,即变量名有误。
sqrt函数的计算精度与C语言设置的精度有关,可以通过设置更改精度。
sqrt()是开平方
开立方也就是求1/3次方,所以可以用pow()函数:
例如求8的开立方。
double a=pow(8,1.0/3);
pow(x,n)函数不是开方,而是乘方,即x的n次方
可以用math.h库里面的pow()函数,例如求n的根号三次可以写成pow(n,1.0/3)。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。