Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어로 좌표의 사분면 위치 판별하기

문제 정의

사용자로부터 입력받은 좌표(x, y)가 어느 사분면(Quadrant)에 속하는지 판별하는 프로그램을 작성해 보겠습니다. 프로그램은 실행 중에 사용자가 입력한 좌표를 읽어 들인 후, 해당 좌표가 위치한 사분면을 화면에 출력해야 합니다.

판별 기준

2차원 좌표평면은 x축과 y축에 의해 네 개의 영역, 즉 사분면으로 나뉩니다. 각 사분면의 판별 조건은 다음과 같습니다.

제1사분면 (1st Quadrant)

x좌표와 y좌표가 모두 양수일 경우 제1사분면에 위치합니다.

예시: 입력 = 2, 3
출력 = 제1사분면

제2사분면 (2nd Quadrant)

x좌표는 음수이고 y좌표는 양수일 경우 제2사분면에 위치합니다.

예시: 입력 = -4, 3
출력 = 제2사분면

제3사분면 (3rd Quadrant)

x좌표와 y좌표가 모두 음수일 경우 제3사분면에 위치합니다.

예시: 입력 = -5, -7
출력 = 제3사분면

제4사분면 (4th Quadrant)

x좌표는 양수이고 y좌표는 음수일 경우 제4사분면에 위치합니다.

예시: 입력 = 3, -5
출력 = 제4사분면

참고로, x좌표와 y좌표가 모두 0이라면 어느 사분면에도 속하지 않는 원점(Origin)입니다.

C 프로그램 코드

다음은 주어진 좌표가 어느 사분면에 속하는지 판별하는 C 프로그램입니다.

#include <stdio.h>
int main(){
   int a,b;
   printf("enter two coordinates:");
   scanf("%d %d",&a,&b);
   if(a > 0 && b > 0)
      printf("1st Quadrant");
   else if(a < 0 && b > 0)
      printf("2nd Quadrant");
   else if(a < 0 && b < 0)
      printf("3rd Quadrant");
   else if(a > 0 && b < 0)
      printf("4th Quadrant");
   else
      printf("Origin");
   return 0;
}

코드 설명

이 프로그램은 if-else if 조건문을 활용하여 두 좌표의 부호를 순차적으로 검사합니다. 먼저 두 값이 모두 양수인지 확인하고, 그렇지 않으면 각각의 부호 조합에 따라 제2, 제3, 제4사분면 여부를 차례대로 판별합니다. 모든 조건에 해당하지 않는 경우, 즉 두 좌표가 모두 0이라면 원점임을 출력합니다.

실행 결과

위 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.

실행 1:
enter two coordinates:-4 6
2nd Quadrant

실행 2:
enter two coordinates:-5 -3
3rd Quadrant

첫 번째 실행에서는 x좌표가 음수(-4)이고 y좌표가 양수(6)이므로 제2사분면이 출력되었으며, 두 번째 실행에서는 두 좌표가 모두 음수(-5, -3)이므로 제3사분면이 출력된 것을 확인할 수 있습니다.