判断点圆关系 (30 分)
输入平面上的一个点的坐标,以及一个圆的圆心坐标和半径,输出该点到原点的距离,并判断该点在圆内,圆外还是在圆周上。
在圆外时,将输出“outside",在圆内时,输出"inside",在圆周上时,输出“on"。
下面已经给出了点类Point的部分定义,请将其函数定义补充完整,并添加对圆类Circle的完整定义。

输入格式说明:
格式如下:
点的x坐标 点的y坐标 圆心的x坐标 圆心的y坐标 圆的半径
输入样例:
在一行中给出点坐标和圆心坐标及半径:
2 3 1 1 3
输出样例:
在这里给出相应的输出。例如:
3.61 inside

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
class Point {
private:double x, y;
public:Point();Point(double x_, double y_);double distance();double distance(const Point& p);double getX() { return x; }double getY() { return y; }void setX(double x_);void setY(double y_);
};
Point::Point() { double x = 0; double y = 0; }
Point::Point(double x_, double y_)
{this->x = x_; this->y = y_;
}
double Point::distance() {return sqrt(this->x * this->x + this->y * this->y);
}
double Point::distance(const Point& p)
{return sqrt((this->x - p.x) * (this->x - p.x) + (this->y - p.y) * (this->y - p.y));
}
void Point::setX(double x_)
{cout << this->x << endl;
}
void Point::setY(double y_)
{cout << this->y << endl;
}
class Circle
{
private:Point p1;double r;
public:Circle(Point& p ,double r):p1(p){this->r = r;}string judge(Point &p){if (p.distance(p) > r)return "outside" ;else if (p.distance(p) == r)return "on";elsereturn "inside" ;}
};int main() {double x1, y1, x2, y2, r;cin >> x1 >> y1 >> x2 >> y2 >> r;Point p(x1, y1);Point ctr(x2, y2);Circle c(ctr, r);cout << setprecision(3) << p.distance() << " " << c.judge(p) << endl;
}

判断点圆关系 (30 分)相关推荐

  1. PAT甲级1135 Is It A Red-Black Tree (30分):[C++题解]判断红黑树

    文章目录 题目分析 题目链接 题目分析 分析 给定前序遍历,同时红黑树一定是二叉搜索树,所以它的中序遍历就是从小到大排序.因此这道题是给定了前序遍历和中序遍历让建立二叉搜索树(BST). 数据结构中有 ...

  2. 【CCCC】L3-018 森森美图 (30分),计算几何+判断三点共线+bfs最短路

    problem L3-018 森森美图 (30分) 森森最近想让自己的朋友圈熠熠生辉,所以他决定自己写个美化照片的软件,并起名为森森美图.众所周知,在合照中美化自己的面部而不美化合照者的面部是让自己占 ...

  3. 【CCCC】L3-010 是否完全二叉搜索树 (30分),完全二叉树判断+层次遍历(奇怪的方法)

    problem L3-010 是否完全二叉搜索树 (30分) 将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序 ...

  4. PAT甲级1155 Heap Paths (30 分):[C++题解]堆、堆的遍历、树的遍历、dfs输出路径、完全二叉树建树

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 堆首先是完全二叉树,所以先建完全二叉树,由于给定的是层序遍历的数据,所以直接用数组即可,注意数组下标从1开始,这样便满足结点u和左儿 ...

  5. 7-2 银行家算法--申请资源 (30 分)

    7-2 银行家算法–申请资源 (30 分)(思路+详解)Come 乖宝宝们 一:前言 这道题需要用到前面的一道题 安全性检查 算法知识,所以强烈建议先看前面那道题 7-1 银行家算法–安全性检查 (2 ...

  6. 【CCCC】L3-025 那就别担心了 (30分),dfs搜索起点到终点的路径条数。

    problem L3-025 那就别担心了 (30分) 下图转自"英式没品笑话百科"的新浪微博 -- 所以无论有没有遇到难题,其实都不用担心. ziqia.jpg 博主将这种逻辑推 ...

  7. 【CCCC】L3-016 二叉搜索树的结构 (30分),,手动建堆(二叉搜索树节点询问),map写法

    problem L3-016 二叉搜索树的结构 (30分) 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右 ...

  8. **06-图3 六度空间 (30 分)**

    06-图3 六度空间 (30 分) "六度空间"理论又称作"六度分隔(Six Degrees of Separation)"理论.这个理论可以通俗地阐述为:&q ...

  9. 集美大学c语言大作业,2019年集美大学硕士研究生考试初试自命题考试大纲C语言程序设计函数程序设计,20%(30分)...

    类似问题答案 2019年集美大学硕士研究生考试初试自命题考试大纲C语言程序设计循环结构程序设计,... (三)循环结构程序设计,10% (15分) 考试内容:for循环.while循环.dowhile ...

最新文章

  1. Uber提出损失变化分配方法LCA,揭秘神经网络“黑盒”
  2. python自学路线-各个阶段的python学习路线?
  3. androidSDK配置环境变量
  4. C++98C++11的区别
  5. 前端学习(1418):服务器响应的数据格式
  6. 有关分库分表你想知道的,都在这儿了
  7. C++函数指针和类成员函数指针
  8. linux命令里的xz是干嘛的,linux xz命令详解
  9. Log4j和Slf4j的比较
  10. .mmap文件用什么软件可以打开?
  11. 电脑小写字母怎么切换_WPS“文档”——大小写字母快速转换
  12. mro python_Python-MRO
  13. 计算机无法连接网络打印机,网络打印机无法连接的解决方法是什么
  14. U8-存货结存数量与序列号可用数量不一致
  15. BUUCTF(web刷题记录一)
  16. 解决鼠标滚动时页面上下跳动的问题
  17. 如何同时训练左手灵活性和音阶思维
  18. linux module load, show, 包管理,找到包的路径
  19. 2021 Macbook Pro 14 频繁问题回答
  20. 谁的青春不似梦,谁的梦里不青春

热门文章

  1. ajax调用ashx页面内的方法
  2. 浅析电容式触摸感应原理与类型
  3. npm全局安装和本地安装及卸载
  4. Retrofit 2.0 超能实践(三),轻松实现多文件/图片上传/Json字符串/表单
  5. 深度linux夜间模式,更新Deepin 15.9.3系统后无法自动调节色温的解决方法
  6. 组合数学(洛谷P5148)
  7. L2TP协议及AVP
  8. Android Bluetooth蓝牙开发\蓝牙协议\蓝牙通信例子_Android支持蓝牙4.0版本_BLE开发
  9. 安卓蓝牙开发的几个版本区别
  10. Tecohoo VD-206S 全高清视频会议摄像机