c语言xdoj 期末上机题 1-1 坐标判断

试题名称 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;
}
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值