使用内置函数sqrt()开方
在c语言中,要计算一个数的开方可以使用内置函数sqrt()。该函数位于数学头文件
利用循环逼近开方
如果不想使用内置函数,也可以通过循环来逼近一个数的开方。这种方法叫做牛顿迭代法。
求解复杂数的开方
如果需要计算复杂数的开方,在c语言中需要使用复数库。
使用内置函数sqrt()开方
在c语言中,要计算一个数的开方可以使用内置函数sqrt()。该函数位于数学头文件
double sqrt(double x);
其中参数x是要计算开方的数,返回值是x的平方根。以下是一个计算开方的例子:
#include#include int main() { double num = 16.0; double result = sqrt(num); printf("the square root of %f is %f\n", num, result); return 0; }
运行上述代码,将会输出:
the square root of 16.000000 is 4.000000
利用循环逼近开方
如果不想使用内置函数,也可以通过循环来逼近一个数的开方。这种方法叫做牛顿迭代法。
首先,我们对于任意一个正数x,猜测一个初始值y。然后,通过以下递归公式不断逼近真实的开方值:
y = (y x / y) / 2;
当y的值不再发生明显变化时,可以认为已经逼近到了开方值。以下是一个使用牛顿迭代法计算开方的例子:
#includedouble sqrt(double x) { double y = x / 2.0; double temp; while (1) { temp = y; y = (y x / y) / 2.0; if (temp == y) break; } return y; } int main() { double num = 16.0; double result = sqrt(num); printf("the square root of %f is %f\n", num, result); return 0; }
运行上述代码,将会输出:
the square root of 16.000000 is 4.000000
求解复杂数的开方
如果需要计算复杂数的开方,在c语言中需要使用复数库。复数库可以通过引入头文件
#include#include int main() { double complex num = 4.0 3.0 * i; double complex result = csqrt(num); printf("the square root of %f %f * i is %f %f * i\n", creal(num), cimag(num), creal(result), cimag(result)); return 0; }
运行上述代码,将会输出:
the square root of 4.000000 3.000000 * i is 2.361054 0.633974 * i
上述例子中,复数4.0 3.0 * i的开方是2.361054 0.633974 * i。
本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/cyymz8px5e.html
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及捕鱼10元起上10元下的版权问题,且不对任何资源负法律责任。
如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。
如有侵犯您的捕鱼10元起上10元下的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!