用c++ 写一下判断正方形和圆重叠
时间: 2024-04-14 14:26:54 浏览: 88
用C++判断直线和圆的位置关系
好的,以下是用C++实现的代码:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
int main() {
// 定义正方形和圆的参数
double square_x, square_y, square_size;
double circle_x, circle_y, circle_r;
cout << "请输入正方形的中心坐标和边长:";
cin >> square_x >> square_y >> square_size;
cout << "请输入圆的中心坐标和半径:";
cin >> circle_x >> circle_y >> circle_r;
// 判断正方形和圆是否重叠
double dx = abs(square_x - circle_x);
double dy = abs(square_y - circle_y);
double distance = sqrt(dx * dx + dy * dy);
bool overlap = distance <= square_size / 2 + circle_r;
// 输出结果
if (overlap) {
cout << "正方形和圆重叠" << endl;
} else {
cout << "正方形和圆不重叠" << endl;
}
return 0;
}
```
注意,这里的判断条件是正方形和圆的最短距离是否小于或等于正方形的边长和圆的半径之和的一半。
阅读全文