试题名称 1-1 坐标判断
问题描述
极坐标是表示二维点坐标的一种方式,其定义如下:
在平面内取原点作为极点,引一条射线Ox,叫做极轴,再选定一个长度单位和角度的正方向(取逆时针方向,顺时针方向为负值)。对于平面内任何一点M,用r表示线段OM的长度(r≥0),a表示从Ox到OM的角度,r叫做点M的极径,a叫做点M的极角,有序数对(r, a)就叫点M的极坐标。
已知二维点M的极坐标(r, a),判断输入是否合理,即r是否非负,若输入合理,进一步判断点M落于原点、x轴、y轴还是第一/二/三/四象限。输出判断结果。
输入说明
输入为两个整数。第1个整数表示点M的极径r,0≤r<10000,第2个整数表示点M的极角a,-360≤a≤360,单位为度。
输出说明
若输入不合理,即r值不符合要求的取值范围,输出整数-1。
若输入合理,根据情况分别输出以下值
(1)若点M在原点,输出“Origin”;
(2)若M在X轴上,输出 “X-axis”;
(3)若M在Y轴上,输出 “Y-axis”;
(4)若M在第一象限,输出 “1st Quadrant”;
(5)若M在第二象限,输出 “2nd Quadrant”;
(6)若M在第三象限,输出 “3rd Quadrant”;
(7)若M在第四象限,输出 “4th Quadrant”。
测试样例:
输入样例1
-20 45
输出样例1
-1
输入样例2
0 87
输出样例2
Origin
输入样例3
10 180
输出样例3
X-axis
输入样例4
10 45
输出样例4
1st Quadrant
#include<stdio.h>
int main()
{
int r,a;
scanf("%d%d",&r,&a);
if(r<0||r>10000) {
printf("-1");
}else
if(r==0){
printf("origin");
}else
if(a==0||a==180||a==360){
printf("x-axis");
}else
if(a==90||a==270){
printf("Y-axis");
}else
if(a>0&&a<90){
printf("1st Quadrant");
}else
if(a>90&&a<180){
printf("2st Quadrant");
}else
if(a>180&&a<270){
printf("3rd Quadrant");
}else
if(a>270&&a<360){
printf("4th Quadrant");
}
return 0;
}