写一个C++程序:用一个函数来实现判断某个圆是否包含坐标原点,其首部为: int HavingOrigin(struct CIRCLE c) 返回1表示包含,0表示不包含。 主程序输入圆的参数,然后调用函数判断,并输出判断结果。
时间: 2023-11-28 17:47:58 浏览: 45
以下是代码实现:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
struct CIRCLE {
double x; // 圆心横坐标
double y; // 圆心纵坐标
double r; // 半径
};
int HavingOrigin(struct CIRCLE c) {
double distance = sqrt(c.x*c.x + c.y*c.y); // 计算圆心到原点的距离
if(distance <= c.r) { // 判断圆心到原点的距离是否小于等于半径
return 1; // 包含原点
} else {
return 0; // 不包含原点
}
}
int main() {
struct CIRCLE c;
cout << "请输入圆心横坐标:";
cin >> c.x;
cout << "请输入圆心纵坐标:";
cin >> c.y;
cout << "请输入圆的半径:";
cin >> c.r;
if(HavingOrigin(c)) {
cout << "该圆包含原点。" << endl;
} else {
cout << "该圆不包含原点。" << endl;
}
return 0;
}
```
运行结果示例:
```
请输入圆心横坐标:2
请输入圆心纵坐标:2
请输入圆的半径:3
该圆不包含原点。
```