value),或者aqrt(float
value),而你用的是aqrt(5),找不到匹配项。
因为c++支持重载函数,如果参数不匹配那么就认为找不到该函数。
而c不支持重载,所以会自动将你的5转换成浮点数再运算,就不报错了。
正确的做法,将aqrt(5)改为sqrt(50)
C语言中sqrt函数是指的开方运算函数,得到的结果是函数变量(可以是数值,也可以是变量名)的算术平方根。如输入m=sqrt(4);,则输出结果为2。或者对于变量a有赋值9,,则输入m=sqrt(9),输出结果为3
需要注意的是以下三点:
sqrt函数运行的是结果是算术平方根,即不能运算处负数值,也不能输出虚数结果。如需要得到算术平方根中的负数值,则应该在sqrt函数前添加负号。
sqrt函数的参数必须是非负数值,如果是负数值,则输出会报错,即数值无效;如果参数是未定义的非数字变量,则按回车后也会报错,即变量名有误。
sqrt函数的计算精度与C语言设置的精度有关,可以通过设置更改精度。
1、sqrt是一个“平方根计算”,在VC60中的mathh头文件的函数原型为double sqrt(double)。
2、sqrt在VC60中的mathh头文件的函数原型为double sqrt(double)。它的功能是计算一个非负实数的平方根。
3、sqrt主要的应用就是考验CPU的浮点能力。
扩展资料:
参数a的各种取值得到的结果:
1、如果参数是 NaN 或小于零,那么结果是 NaN。
2、如果参数是正无穷大,那么结果就是正无穷大。
3、如果参数是正零或负零,那么结果与参数相同。
否则,结果是最接近该参数值的真实数学平方根的 double 值。
例如:
//计算并输出2的平方根#include <iostream>
#include <mathh>
int main()
{
cout << "2的平方根:" << sqrt(2) << endl;
return 0;
}#include<stdioh>
#include<stdlibh>
#include<mathh>
void main()
{
int m,i;
float k; //改动这
printf ("input a number:");
scanf("%d",&m);
// k = sqrt(m);
k = sqrt(float(m)); //改动这
for (i=2; i <=k;i++)
if (m % i==0)
break;
if (i>k)
printf("yes\n");
else
printf("no\n");
}
//书上写的不一定对
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)