编辑代码

#include <stdio.h>
#include <math.h>
#define pi acos(-1.0);
float d,x1,a,r1,x2,y2,r2,s;
int main () { 
    scanf("%f","%f","%f","%f","%f","%f",&x1,&a,&r1,&x2,&y2,&r2);
	d=sqrt((x1-x2)*(x1-x2)+(a-y2)*(a-y2));
    if(d>=(r1+r2)){
        s=0;
    }
    if(d<=(r2-r1)){
        if(r1<r2)
        s=pi*r1*r1;
    else
        float temp;
        temp=r1;
        r1=r2;
        r2=temp;
        s=pi*r1*r1;
    }
    if(r2-r1<d<r2+r1){
        float ang1=acos((r1*r1+d*d-r2*r2)/(2*r1*d));
	    float ang2=acos((r2*r2+d*d-r1*r1)/(2*r2*d));
	    s=ang1*r1*r1 + ang2*r2*r2 - r1*d*sin(ang1);
    }
    printf("两圆的相交面积为:%f\n",s);
	//return 0;
}