#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include <math.h>
#include <easyx.h>
#include <graphics.h>
typedef struct T_circle
{
int x; //x轴坐标
int y;//Y轴坐标
int r; //圆的半径
}yuan;
void panduan(yuan test1, yuan test2)
{
double d;//定义(圆心的距离)
d = sqrt((test1.x - test2.x)*(test1.x - test2.x) + (test1.y - test2.y)*(test1.y - test2.y));
if (d > test1.r + test2.r)
{
printf("没有交集\n");
}
else if (d <= test1.r + test2.r)
{
printf("相切/交\n");
}
}
void draw(yuan test1,yuan test2)
{
initgraph(500, 500,SHOWCONSOLE);
BeginBatchDraw();
cleardevice();
setlinecolor(RED);
circle(test1.x, test1.y, test1.r);
circle(test2.x, test2.y, test2.r);
EndBatchDraw();
system("pause");
closegraph();
}
//首先要求出两个圆心的距离,公式为:d=√[(x2-x1)²+(y2-y1)²] 这里要用到math.h头文件sqrt
int main()
{
yuan circle1 = { 100,100,60 }; //定义一个圆
yuan circle2 = { 100,150,50 }; //定义一个圆
panduan(circle1, circle2);
draw(circle1, circle2);
return 0;
}
