Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags
more
Archives
Today
Total
관리 메뉴

이것저것

C언어 구조체 이용해 점 좌표 비교하기 본문

Language/C언어

C언어 구조체 이용해 점 좌표 비교하기

olivia-com 2020. 11. 21. 11:05

문제

2차원평면에서 점은 (x,y)좌표로 나타낼 수 있다. 따라서 하나의 점은 다음과 같은 point 라는 구조체로 정의할 수 있다. 이 point 구조체를 받아서 다음과 같은 기능을 하는 함수를 작성하고 테스트하라.

(a) 두 점의 좌표가 일치하면 1을 반환하고 그렇지 않으면 0을 반환하는 함수 int equal(struct point p1, struct point p2)

#include <stdio.h>

struct point{
	int x;
	int y;
};

int equal(struct point p1, struct point p2){
	if((p1.x == p2.x) && (p1.y == p2.y)){
		return 1;
	}
	else{
		return 0;
	}
}

int main(void){
	struct point p1,p2;
	scanf("%d %d", &p1.x, &p1.y);
	scanf("%d %d", &p2.x, &p2.y);
	printf("%d\n", equal(p1,p2));
	return 0;
}

(b) 점의 좌표를 받아서 이 점이 어떤 사분면에 속하는지를 반환하는 함수, 점이 속하는 사분면의 번호를 반환하는 함수 int quadrant(struct point p)

#include <stdio.h>

struct point{
	int x;
	int y;
};

int quadrant(struct point p){
	if((p.x > 0) && (p.y > 0)){
		printf("제 1 사분면");
	}
	else if((p.x < 0) && (p.y > 0)){
		printf("제 2 사분면");
	}
	else if((p.x < 0) && (p.y < 0)){
		printf("제 3 사분면");
	} 
	else{
		printf("제 4 사분면");
	} 
}

int main(void){
	struct point p;
	scanf("%d %d", &p.x, &p.y);
	quadrant(p);
	return 0;
}