请问下面这个程序哪里有问题吗?总是计算不对x1,y1,的值,但是如果直接给m1,n1,b1,b2赋予常数值,x1,y1计算结果就是对的,这是为什么呢?
double m1,n1,m2,n2,b1,b2,c1,c2,c3,c4,d1,d2; //计算中的中间变量
int x1,x2,y1,y2;
Ta=0;Tb=1;Tc=2;Td=3;
c1=0.34*(Ta-Tb); //时间差到距离差 单位为毫米
c2=0.34*(Ta-Tc);
c3=0.34*(Tc-Td);
c4=0.34*(Tb-Td);
m1=(4*c2)/(c1*3);
n1=(c1*c2-c2*c2+300*300)/600; //计算中的中间变量
b1=m1*m1+1-(4*200*200)/(c1*c1);
b2=n1*n1+200*200-(c1*c1)/4;
x1=(int)((sqrt((m1*m1*n1*n1-b1*b2))-m1*n1)/b1); //第一组想(x,y)
y1=(int)(m1*x1+n1);
|