题解 | 点与圆的关系 类

点和圆的关系

http://www.nowcoder.com/practice/fdbbd0aaf89f49818e9ee1afb02deb10

#include using namespace std;

//点类

class Pointer { public: void set_x(int x) { m_x = x; } void set_y(int y) { m_y = y; } int get_x() { return m_x; } int get_y() { return m_y; }

int m_x;
int m_y;

};

//圆类

class Circle { public: void set_ccen(int x,int y) { center.m_x = x; center.m_y = y; } void set_cr(int r) { radius = r; } Pointer get_ccen() { return center; } int get_cr() { return radius; }

Pointer center;
int radius;

void isPointerInCircle(Pointer &p,Circle &c)
{
//点到圆心距离与半径进行比较
    int distance = (c.get_ccen().get_x()-p.get_x())*(c.get_ccen().get_x()-p.get_x())+

(c.get_ccen().get_y()-p.get_y())*(c.get_ccen().get_y()-p.get_y()); int ra = c.get_cr()*c.get_cr(); if(distance == ra) { cout << "on" << endl; } else if(distance > ra) { cout << "out" << endl; } else { cout << "in" << endl; } }

};

int main() {

// 键盘输入点的坐标
int x,y;
cin >> x;
cin >> y;

Pointer p;
p.set_x(x);
p.set_y(y);

Circle c;
c.set_ccen(5,0);
c.set_cr(5);

c.isPointerInCircle(p,c);

return 0;

}

全部评论

相关推荐

04-21 11:22
已编辑
中华女子学院 UE4
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务