C语言输出了 -1.#IND00.-1.#IND00 这是什么意思

# include<stdio.h>
void main()
{
double x1,x2,x3,x4,y1,y2,y3,y4,a,b,k1,k2,c,d,e,f;
printf("input 4 datas");
scanf("%lf %lf %lf% lf %lf %lf %lf %lf",&x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4);
a=(x1+x2)/2;
b=(y1+y2)/2;
k1=-1*(x2-x1)/(y2-y1);
c=(x3+x4)/2;
d=(y3+y4)/2;
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);
printf("%d,%d\n",e,f);
;} 这是原程序

凡是出现-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);
都可能发生。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-30
你输入的是什么测试数据?追问

求圆心

追答

我是说 你运行程序后,输入的是什么数值,才得到你那输出 -1.#IND00.-1.#IND00

printf("%d,%d\n",e,f);
改成
printf("%g,%g\n",e,f);
试试
你的e,f都是浮点数,别%d整数输出

追问

得到-1.#IND -1.#IND 这个符号是什么意思

追答

不知道,我没出现过这种符号。
可能是负无穷啊或是除0了这种意思,所以我想用你的数据测试下。

C语言输出了 -1.#IND00.-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);都可能发生。

c语言运行后输入负数出现-1.#ind00是怎么回事?
当使用C语言中的sqrt函数处理负数输入时,你可能遇到类似于"-1.#ind00"的输出。这是因为在C语言中,sqrt函数仅接受非负实数作为参数。当输入负数,如-1,函数尝试计算负数的平方根,这在实数范围内是未定义的。结果,程序会返回一个特殊值,表示计算结果是一个非实数的数,通常表现为“-1.#ind00”...

一个简单的c语言程序,输出-1.#IND00..不知道哪里错
-1.#IND \/ nan:这个的情况更复杂,一般来说,它们来自于任何未定义结果(非法)的浮点数运算。"IND"是 indeterminate 的缩写,而"nan"是 not a number 的缩写。产生这个值的常见例子有:对负数开平方,对负数取对数,0.0\/0.0,0.0*∞, ∞\/∞ 等。简而言之,如果遇到 1.#INF \/ inf,就...

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

为什么我找个C语言的求2个根总是显示什么(-1.#IND00-1.#IND00),求高 ...
会不会是因为被除数为0

c语言出现-1.#IND00怎么回事?
你给的程序不完整,函数 void NONO() 在程序代码中没有,请给出完整的程序 而且fun 函数没有返回值,在main 函数中的变量sum 的怎么得到?这个程序编译就通不过,根本不可能有结果 如果你是在vc 环境下执行的,结果可能是上一个程序的

c语言结果出现1.#IND00
溢出了,也就是超过了某个变量超过了float型的最大表示范围 e[i]=c[i]\/(b[i]-a[i]*e[i-1]);\/\/第一次执行这语句时,就溢出了,分母为0 此时 i=1 b[i]=2.0 a[i]=1.0 e[i-1]=2.0

求C语言大虾...程序出现 -1.#IND00
} else return(c1);} 还有,你的程序函数声明,应该放到main之前,不然,后面的函数在调用f4时,没有函数声明,编译有警告,运行可能也有错误。float f1(float x);float f2(float a1,float a2);float f3(float c1,float c2);float f4(float d1,float d2);void main(){ float x1,x2,x0;

C语言,,用泰勒展开式算e的x次方。
-1.#IND0000000是数据溢出了 泰勒公式我也不太清楚 算法有问题了 编译的时候各数据如下 继续运行的时候Q还会涨 要达到Q<0.0001如果不是溢出不可能 Q都溢出了 E自然也溢出了

c语言高手进 -1.#IND00求救!!
输入类型不对 include <stdio.h> include <math.h> main(){ int i;double c=2982.0,t1,t2,t3,r1,r2,A,B,D,x1=0.0,y1=0.45,x2=0.3,y2=0.0,p,q,x,y,r;for (i=1;i<=9;i++){ scanf ("%lf %lf %lf",&t1,&t2,&t3);t1=t1\/1000000;t2=t2\/1000000;t3=t3\/...

相似回答