在C语言中,可以使用库函数sqrt来实现开根号计算。\x0d\x0a1 头文件:math.h\x0d\x0a2 声明:\x0d\x0adouble sqrt(double n);\x0d\x0a3 功能:\x0d\x0a将参数n开平方后,得到算数平方根返回。\x0d\x0a4 调用形式:\x0d\x0asqrt(100);\x0d\x0a为计算100的平方根。
成都网络公司-成都网站建设公司创新互联建站10年经验成就非凡,专业从事网站建设、成都网站建设,成都网页设计,成都网页制作,软文平台,一元广告等。10年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:18980820575,我们期待您的来电!
C语言中平方根的函数是:double sqrt(double)。
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
主要特点
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型。
可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。
直接用库函数sqrt就行,如果硬要折腾,可以自己写,程序如下所示,若要用库函数的版本,去掉头文件的注释和函数中的注释:
#include stdio.h
// #include math.h
double mysqrt(int x) {
// return sqrt(x);
double lb = 0, rb = x;
for(int i = 0; i 100; ++i) {
double mid = lb + (rb - lb) / 2;
if(mid * mid x) lb = mid;
else rb = mid;
}
return lb;
}
int main()
{
printf("%lf\n", mysqrt(5));
return 0;
}
平方直接两个数相乘即可。
平方根可以通过这个数本身和0之间进行折半查找的方法,对数据进行计算。
当两数相乘大于这个数时,重置最大值;小于这个数时,重置最小值。由于存在除不尽的数,可以加上一个精度进行判断。
#includestdio.h
#includemath.h
double squareFun(double x) // 平方
{
return x*x;
}
double sqrtFun(double x, int precision) // 开方
{
double a = 0, b = x, mid = x/2, val = pow(10, -precision);
if (x 0)
return -1;
while (true) // 循环折半查找
{
if (fabs(mid*mid-x) = val) // 达到进度则退出
break;
if (mid*mid x)
b = mid; // 重置最大值
else
a = mid; // 重置最小值
mid = (a+b)/2;
}
return mid;
}
int main()
{
double d = sqrtFun(2, 15);
printf("%.15lf\n", d);
printf("%.15lf\n", squareFun(d));
}