請問下面這個程序哪里有問題嗎?總是計算不對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);
|