在這個程序中,我不能得到正確的輸出,在這個程序中,我必須計算輸入的點是在圓內還是在圓外,或者是在給定中心的圓的邊界上圓的半徑和圓的半徑。有時在給予正確答案的同時,有時候不給予正確答案。例如,如果我輸入(0,0)作爲中心,並將半徑= 10並檢查點(10,0),則表示該點位於圓圈之外。不知道爲什麼會發生這種情況,因爲在其他情況下檢查它是給出正確的答案。這裏是源代碼的程序 -計算關於一個圓的點時輸出不正確
#include<stdio.h>
main()
{
float x1,y1,x2,y2,r,z;
printf("Please Enter The X And Y Coordinates Of The Centre Of The Circle = ");
scanf("%f%f",&x1,&y1);
printf("\nPlease Enter The Radius Of The Circle = ");
scanf("%f",&r);
printf("\nPlease Enter The Coordinates Of The Point You Want To Check");
scanf("%f%f",&x2,&y2);
z=x1*x1+x2*x2-2*x1*x2+y1*y1+y2*y2-2*y1*y2;
if(z*z==r*r)
printf("\nThe Point Entered Lies On The Boundary Of The Circle Described");
else if(z*z>r*r)
printf("\nThe Point Entered Is Outside The Circle Described");
else
printf("\nThe Point Entered Lies Inside The Circle");
}
爲什麼不做一些調試,例如打印'z'的值? –
是否有你可以使用的'math.h'函數? –
@BitFiddlingCodeMonkey - 我知道有功能,但根據這本書,因爲我正在完成這本書,因爲它沒有在學期完成= = –