欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > AcWing 662:点的坐标 ← 结构体 or 三目运算符

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

2025/2/23 10:52:04 来源:https://blog.csdn.net/hnjzsyjyj/article/details/142730648  浏览:    关键词: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/


 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词