prss.net
当前位置:首页 >> C语言 为什么输出的是%1.#inD00 >>

C语言 为什么输出的是%1.#inD00

凡是出现-1.#IND00.基本可以肯定是发生了除0错误。 比如k1=-1*(x2-x1)/(y2-y1); k2=-1*(x4-x3)/(y4-y3); e=(d-b+k1*a-k2*c)/(k1-k2); f=(k1*k2*(c-a)+k2*b-k1*d)/(k2-k1); 都可能发生。

#include #include double fun(int n) { double s=0;//s要初始化为0 int i; for(i=1;i

凡是出现-1.#IND00.基本可以肯定是发生了除0错误。 你这复杂的计算,看的人眼晕,自己加些调试语句查一下吧

(1/(l*c)-pow(r,2)/(4*pow(c,2))) 我试验了几个数字,结果为负值,不能开sqrt,所以结果是 输出后频率就一直=-1.#IND00 不知道原来公式是什么,发出来,修改一下,应该可以了 printf("=%lf==\n",(1/(l*c)-pow(r,2)/(4*pow(c,2))));看看结果

进行浮点数编程时,如果没有注意,常常会出现输出类似 1.#IND, 1.#INF 或者 nan, inf 之类奇怪的输出。这通常隐含了浮点数操作的异常。 特殊浮点数的含义 1.#INF / inf:这个值表示“无穷大 (infinity 的缩写)”,即超出了计算机可以表示的浮点数...

(1/(l*c)-pow(r,2)/(4*pow(c,2))) 我试验了几个数字,结果为负值,不能开sqrt,所以结果是 输出后频率就一直=-1.#IND00 不知道原来公式是什么,发出来,修改一下,应该可以了 printf("=%lf==\n",(1/(l*c)-pow(r,2)/(4*pow(c,2))));看看结果

因为disc

会不会是因为被除数为0

改好了,一起结单吧#include#includeint main(){int i,sign=1; double sum=0.0,sinx,x,m=1.0,e; printf("Please enter x: \n");scanf("%lf",&x);sinx=sin(x);printf("%lf\n",sinx);e=1;for(i=1;e>=1e-6;i++) {m=m*i; if ( i%2!=0) {e=pow(x,i)/m...

假定数据文件内容: x=1 f=0.0 x=2 f=0.693 x=3 f=1.099 x=4 f=1.386 含等号数据 等号数据。 读出 x[k] f[k] 的方法如下: #include #include int main(void) { FILE *fp; int i,j,n,k; double x[10],f[10],l,ff,xa; n=3; xa=1.5; fp = fopen("D...

网站首页 | 网站地图
All rights reserved Powered by www.prss.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com