按照书上的代码敲,却提示sqrt错误

img

img


按照书上的代码敲,为什么会显示sqrt错误,要怎么改正这个错误

sqrt((double)n);
看看呢

在C语言中,sqrt()是一个数学函数,用于计算一个数的平方根。sqrt()函数需要一个参数,即要计算平方根的数,返回值为该数的平方根。例如,sqrt(4)将返回2,sqrt(9)将返回3。需要注意的是,sqrt()函数的参数必须是一个浮点数或双精度浮点数。如果参数是一个整数,需要先将其转换为浮点数再进行计算。

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7679949
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:写一个sqrt函数的方法
  • 除此之外, 这篇博客: C语言常用库函数及注意事项中的 sqrt函数 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 所在头文件:#include<math.h>

    函数原型:double sqrt(double)

    举例:

    #include<math.h>
    #include<stdio.h>
    int main(void)
    {
        double x = 4.0,result;
        result = sqrt(x); //result*result=x
        printf("The square root of %f is %f\n",x,result); //x=4,result=2;
        return 0;
    }

    说明:开平方函数

     

     

程序的代码没有问题的,是编译器的问题;
因为vs2010的编译器sqrt函数的参数只能传递float和double类型的参数,传递int的参数就会报错~
你换其他的编译器是下,比如用vscode