讲解:https://blog.csdn.net/noahzuo/article/details/52037151
代码:
#include<bits/stdc++.h>
using namespace std;
#define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
int main()
{
ios;
double a,b,h,c,d,r,cena,cenb;
double nx,ny,mx,my;
cin>>c>>d>>r;
cin>>a>>b>>h;
cena=h/2.0+a;
cenb=h/2.0+b;///矩形中心点
a-=cena;
c-=cena;
b-=cenb;
d-=cenb;///变换坐标
if(c<0)c=-c;
if(d<0)d=-d;///圆对称到第一象限
nx=h/2.0;
ny=h/2.0;
//cout<<c<<" "<<d<<endl;
mx=c-nx;
my=d-ny;
if(mx<0)mx=0;
if(my<0)my=0;
//cout<<mx<<" "<<my;
if(r*r-(mx*mx+my*my)>1e-8)cout<<"2"<<endl;///c的模小于r 相交
else if((mx*mx+my*my)-r*r>1e-8)cout<<"0"<<endl;///c的模大于r 相离
else cout<<"1"<<endl;
}