題解 | #點(diǎn)和圓的關(guān)系#
點(diǎn)和圓的關(guān)系
http://www.fangfengwang8.cn/practice/fdbbd0aaf89f49818e9ee1afb02deb10
#include <iostream> #include <cmath> using namespace std; // 點(diǎn)類(lèi) class Pointer { private: int x; // x 坐標(biāo) int y; // y 坐標(biāo) public: void setX(int x) { this->x = x; } int getX() { return x; } void setY(int y) { this->y = y; } int getY() { return y; } }; // 圓類(lèi) class Circle { private: Pointer center; // 圓心 int radius; // 半徑 public: void setCenter(int x, int y) { center.setX(x); center.setY(y); } void setRadius(int radius) { this->radius = radius; } // write your code here...... void isPointerInCircle(Pointer p){ int n = sqrt(pow((p.getX()-center.getX()),2) + pow((p.getY()-center.getY()),2)); if(radius < n){ cout << "out"; }else if(radius == n){ cout << "on"; }else{ cout << "in"; } } }; int main() { // 鍵盤(pán)輸入點(diǎn)的坐標(biāo) int x, y; cin >> x; cin >> y; // 創(chuàng)建一個(gè)點(diǎn) Pointer p; p.setX(x); p.setY(y); // 創(chuàng)建一個(gè)圓 Circle c; c.setCenter(5, 0); c.setRadius(5); // 判斷點(diǎn)和圓的關(guān)系 c.isPointerInCircle(p); return 0; }