当前位置: 首页 > news >正文

AcWing 662:点的坐标 ← 结构体 or 三目运算符

【题目来源】
https://www.acwing.com/problem/content/664/

【题目描述】
给定两个保留一位小数的浮点数 X,Y,用来表示一个点的横纵坐标。
请你判断该点在坐标系中的位置。

【输入格式】
共一行,包含两个浮点数 X,Y,表示点的横纵坐标。

【输出格式】
如果点在第一象限,则输出 Q1,在第二象限,则输出 Q2,以此类推。
如果点在原点处,则输出 Origem。
否则,如果点在 x 坐标上,则输出 Eixo X,在 y 坐标上,则输出 Eixo Y。

【数据范围】
−10.0≤X,Y≤10.0

【输入样例1】
4.5 -2.2

【输出样例1】
Q4

【输入样例2】
0.0 0.0

【输出样例2】
Origem

【算法分析】
◆ 当点不是原点时,判断点在 X 轴的条件为 
p.y==0,判断点在 Y 轴的条件为 p.x==0

【算法代码一:结构体】

#include <bits/stdc++.h>
using namespace std;struct Point{float x;float y;
}p;int main() {cin>>p.x>>p.y;if(p.x==0 && p.y==0) cout<<"Origem"<<endl;else if(p.y==0) cout<<"Eixo X"<<endl;else if(p.x==0) cout<<"Eixo Y"<<endl;else if(p.x>0 && p.y>0) cout<<"Q1"<<endl;else if(p.x<0 && p.y>0) cout<<"Q2"<<endl;else if(p.x<0 && p.y<0) cout<<"Q3"<<endl;else if(p.x>0 && p.y<0) cout<<"Q4"<<endl;return 0;
}/*
in:
0.0 -1.7out:
Eixo Y
*/

【算法代码二:三目运算符】

#include <bits/stdc++.h>
using namespace std;int main() {float x,y;cin>>x>>y;if(x==0 && y==0) cout<<"Origem";else if(x*y==0) cout<<(x==0?"Eixo Y":"Eixo X");else if(x>0) cout<<(y>0?"Q1":"Q4");else cout<<(y>0?"Q2":"Q3");
}/*
in:
0.0 -1.7out:
Eixo Y
*/




【参考文献】
https://www.acwing.com/solution/content/254897/
https://www.acwing.com/solution/content/12396/


 


http://www.mrgr.cn/news/44167.html

相关文章:

  • Lab4 【哈工大_操作系统】进程运行轨迹的跟踪与统计
  • Queue、Hashtable
  • 南昌网站建设让你的企业网站更具竞争力
  • 在CentOS7上安装mysql
  • 大数据分析的具体步骤
  • AtCoder Beginner Contest 374 (E + F)
  • VTC视频时序控制器,TPG图像测试数据发生器,LCD驱动——FPGA学习笔记19
  • 原码、反码、补码极简理解
  • 怎么避免在pod产生-派生炸弹(Fork Bomb)? k8s(kubernetes)
  • 漫谈前端:2025年框架是该选vue还是react?
  • Spring Boot 面向切面编程(AOP) 入门
  • 【C++驾轻就熟】vector深入了解及模拟实现
  • 【动态规划-最长公共子序列(LCS)】力扣1035. 不相交的线
  • LeetCode Hot100 | Day1 | 二叉树:二叉树的直径
  • 本田汽车投资SiLC Technologies:携手共促自动驾驶技术新飞跃
  • 网站集群批量管理-Ansible-模块管理
  • 贪心算法相关知识
  • Linux下网络转发功能
  • Codeforces Round 977 (Div. 2) C2 Adjust The Presentation (Hard Version)(思维,set)
  • 老房翻新,弱配电箱需不需要加?