
#include<stdio.h>
#include<math.h>
#define PI 3.14
int main(){
int x1,y1,x2,y2;
float r,dis;
float d;
float lsqare;
float ysqare;
float dsqare;
float du;
float t;
while(scanf("%d%d%d%d%f",&x1,&y1,&x2,&y2,&r)!=EOF){
dis=sqrt(pow(fabs(x1-x2),2)+pow(fabs(y1-y2),2));
if(dis==0){
printf("重合\n");
}
else if(dis==r*2){
printf("相切\n");
}
else if(dis>2*r){
printf("相離\n");
}
else if(dis<2*r){
printf("相交 ");
d=sqrt(pow(r,2)-pow(dis/2,2));
lsqare=d*dis;
t=dis/2.0;
du=atan(d/t);
du*=2.0;
du=(PI*2-du)/PI;
ysqare=du*PI*pow(r,2);
dsqare=PI*pow(r,2)*2-ysqare-lsqare;
printf("%0.2f\n",dsqare);
}
}
return 0;
}
請問這個代碼有什么問題嗎?
uj5u.com熱心網友回復:
作為常識,浮點數不能進行是否相等的比較。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/241617.html
標籤:新手樂園
上一篇:windows shell iconOverlay擴展圖示無法顯示及資源管理器二級子目錄無法顯示
下一篇:英文差錯系統
