c语言【sqrt:domain errror与-NAN】问题怎么解决啊!!!在线等
你的ab,bc,cd,da定义为实型
运算y=sqrt(x)的时候x是整型 y也变成整型 所以要强制类型转换哦
在前面加个float即可
如:y=(float)sqrt(x)
#include
main()
{
int oa,ob,oc,od,ac,bd;
float ab,bc,cd,da;
scanf("%d,%d,%d,%d",&oa,&ob,&oc,&od);
ab=(float)sqrt(oa*oa+ob*ob);
bc=(float)sqrt(ob*ob+oc*oc);
cd=(float)sqrt(oc*oc+od*od);
da=(float)sqrt(oa*oa+od*od);
ac=(oa+oc);
bd=(ob+od);
printf("ab=%f bc=%f cd=%f da=%f ac=%d bd=%d
",ab,bc,cd,da,ac,bd);
system("PAUSE");
}
w=0.8*(sqrt(F*1000/(3*b)));
改为:
w=0.8*(sqrt(F*1000.0/(3*b)));
for(i=0;i<=5;i++)
for(j=0;j<=5;j++)
改为
for(i=0;i<5;i++)
for(j=0;j<5;j++)
C语言?和:操作符怎么用
C语言?和:是三目运算符,也叫三元运算符。语法:表达式1 ? 表达式2 : 表达式3;函数:先执行表达式1,执行完毕,如果表达式1的结果为真,则执行表达式2,整个表达式的结果就是表达式2的结果,否则执行表达式3,结果是表达式3的结果。例如:int res=1?10:20;可以简单理解为表达式1成立吗?成立执行表...
C语言三目运算符怎么用
C语言三目运算符用法:对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e...
c语言“sqrt函数”的用法是什么?
sqrt函数\\x0d\\x0a功 能: 一个非负实数的平方根\\x0d\\x0a函数原型: 在VC6.0中的math.h头文件的函数原型为double sqrt(double);\\x0d\\x0a说明:sqrt系Square Root Calculations(平方根计算),通过这种运算可以考验CPU的浮点能力。\\x0d\\x0a程序例:\\x0d\\x0a#include\\x0d\\x0a#inclu...
c语言一元二次方程求解(包含复根)
1、d<0时,sqrt(d)无意义,应该是sqrt(-d)2、i不是变量 3、2*a应该加括号括起来。语句修改为:printf("x1=%.2f+%.2fi,x2=%.2f-%.2fi",p,sqrt(-d)\/(2*a),p,sqrt(-d)\/(2*a));另外,你对p的求解也是错的,应该是p=-b\/(2*a)2*a应该用括号括起来。
C语言编程:用筛选法求100之内的素数,
if(c>sqrt(d)) printf("%d=%d+%d\\n",a,b,d); } } for(int i=5;i<=sqrt(x);i+=6) if(x%i==0||x%(i+2)==0) { printf("%d不是素数",x); return 0; } printf("%d是素数",x); return 0; } 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 xiaolun217001 2013-03...
c语言求平方根
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));} ...
在c++中对double使用sqrt函数后结果变成-1#IND
p=0.101*pow(10,6); d=0.005; n=1.83*pow(10,-5); pi=3.14; cout<<"U:"; cin>>U; cout<<"tg:"; cin>>tg; vg=(l\/tg)*10000; r1=9*n*vg\/2\/a\/g; r2=sqrt(r1); q=18*pi*d\/U\/sqrt(2*a*g)*(sqrt(...
对于C语言中用求根公式求出复数怎么写
int main(){ double a,b,c,d;scanf("%lf%lf%lf",&a,&b,&c);printf("%g %g %g\\n",a,b,c);d=b*b-4*a*c;if(d>0)printf("x1=%g\\nx2=%g\\n",(-b+sqrt(d))\/(2*a),(-b-sqrt(d))\/(2*a));else if(d==0)printf("x1=x2=%g\\n",-b\/(2*a));else printf("...
C语言中如何判断一个数是完全平方数
1、首先,打开C语言编译器,新建初始.cpp文件,例如:test.cpp。2、其次,在test.cpp文件中,输入C语言代码:int a = 64;double c = sqrt(a);if (c == int(c))printf("是完全平方数");else printf("不是完全平方数");3、编译器运行test.cpp文件,此时成功快速识别出了是不是完全平方数...
C语言编程求c=sqrt(a*b),d=sqrt(a*c),d2=sqrt(c*b),即新生成的数和前 ...
tmp=new List(sqrt((p->data)*(p->next->data)),m);\/\/申请节点,计算节点值 q=p->next;;p->insert(tmp); \/\/插入节点 p=q;} m++; \/\/下一次 } p=list;ofstream fout("1.txt");int i = 0; \/\/控制每行输出个数 while(p){ i++;cout << fixed << setprecision(2);cout...
其贵诺丽: 用法:计算一个非负实数的平方根. 函数原型: 在VC6.0中的math.h头文件的函数原型为double sqrt(double); 说明:sqrt系SquareRootCalculations(平方根计算),通过这种运算可以考验CPU的浮点能力. 程序举例: #include<stdio.h> #...
北宁市15117483839: C语言中的sqrt函数是什么意思,有什么作用? - ?
其贵诺丽: 是c语言的库函数,编译环境决定的,它的作用是开平方.不同的编译环境库函数是有区别的,不过像这种基本的函数都是一样的.
北宁市15117483839: C语言中出现sqrt:domain error - ?
其贵诺丽: float C/C++数据类型浮点数(floating point number),占用4byte ,范围:3.4e + / - 38 (7 个数字(7digits))懂了? 位不够
北宁市15117483839: c语言 中sqrt 到底是什么意思 例如 x=sqrt(i+100) 在这里的意思 是干什么 - ?
其贵诺丽: sqrt的全称是Square Root Calculations,一个非负实数的平方根. 它的函数原型在VC6.0中的math.h头文件: double sqrt(double);示例, #include#include int main(void) { double x=4.0,result; result=sqrt(x);//result*result=x printf("Thesquarerootof%fis%f\n",x,result); return 0; }
北宁市15117483839: c语言中的开方 - ?
其贵诺丽: 头文件:#include <math.h> sqrt() 用来求给定值的平方根,其原型为:double sqrt(double x);double sqrt(double x). x 为要计算平方根的值. 如果 x < 0,将会导致 domain error 错误,并把全局变量 errno 的值为设置为 EDOM. 返回 x 平方根...
北宁市15117483839: C语言中SQRT函数的标准格式? - ?
其贵诺丽: #include int main(void) { double x = 4.0, result; result = sqrt(x); printf("The square root of %lf is %lf\n", x, result); return 0; }
北宁市15117483839: C语言 sqrt函数的一个疑问 - ?
其贵诺丽: long为32位整型数2^32 > (53258-4098)*(53258-4098) > 2^31 所以(53258-4098)*(53258-4098)的结果相当于一个负数 对一个负数开平方自然会DOMAIN error 改成long double就可以了
北宁市15117483839: c语言使用sqrt函数得到的数据的类型? - ?
其贵诺丽: 要想弄清这个问题,首先要看看这个函数的原型: 打开头文件:math.h 看到: double _Cdecl _FARFUNC sqrt (double __x); 可见输入的自变量的类型是双精度型,输出结果也是双精度型. 因此,c语言使用sqrt函数得到的数据的类型是双精度型(double).
北宁市15117483839: 请问 c语言 sqrt()函数运行时出现 do main error 是什么原因? - ?
其贵诺丽: 函数名: sqrt 功 能: 计算平方根 用 法: double sqrt(double x); 程序例:#include <math.h>#include <stdio.h> int main(void){double x = 4.0, result; result = sqrt(x);printf("The square root of %lf is %lf\n", x, result);return 0; }
北宁市15117483839: sqrt(sum)的sqet在C语言中是什么意思 - ?
其贵诺丽: sqrt()在C语言中是math库中的一个求平方根的函数,看下面的例子:int a = sqrt(4);调用该函数后,a的值变成2.