반응형
2차원 평면에서 점은 (x,y) 좌표로 나타낼 수 있다. 따라서 하나의 점은 다음과 같은 point라는 구조체로 정의할 수 있다. 이 point 구조체를 받아서 다음과 같은 기능을 하는 함수를 작성하고 테스트하라.
(a)두 점의 좌표가 일치하면 1을 반환하고 그렇지 않으면 0을 반환하는 함수 int equal(struct point p1, struct point p2)
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 | #include <stdio.h> typedef struct point{ int x; int y; } POINT; int equal(POINT a, POINT b); int main(void) { POINT a,b; int i; printf("두 점이 같으면 1 다르면 0을 반환합니다.\n"); printf("a점의 좌표를 입력하세요.\n"); scanf("%d %d", &a.x, &a.y); printf("b점의 좌표를 입력하세요.\n"); scanf("%d %d", &b.x, &b.y); i=equal(a,b); printf("결과값은 %d입니다.\n", i); return 0; } int equal(POINT a, POINT b) { int result=0; if(a.x==b.x&&a.y==b.y) {result=1;} return result; } | cs |
(b)점의 좌표를 받아서 이 점이 어떤 사분면에 속하는지를 반환하는 함수, 점이 속하는 사분면의 번호를 반환하는 함수 int quadrant(struct point p)
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 32 33 34 35 36 37 38 39 | #include <stdio.h> typedef struct point{ int x; int y; } POINT; int quadrant(POINT p); int main(void) { POINT a; int res; while(1){ printf("점의 좌표를 입력하세요.(종료는 6666 6666)\n"); scanf("%d %d", &a.x, &a.y); res=quadrant(a); if(res>=1&&res<=4) printf("점은 %d사분면 위에 있습니다.\n", res); else if(res==5) printf("점은 원점이나 축위에 있습니다.\n"); else if(res==6) break;} return 0; } int quadrant(POINT p) { int result=0; if(p.x==6666&&p.y==6666) result=6; else if(p.x>0&&p.y>0) result=1; else if(p.x<0&&p.y>0) result=2; else if(p.x<0&&p.y<0) result=3; else if(p.x>0&&p.y<0) result=4; else if(p.x==0||p.y==0) result=5; return result; } | cs |
반응형
'컴퓨터 & 프로그래밍 & 전자공학 > C언어' 카테고리의 다른 글
사각형 판별과 둘레와 넓이 (0) | 2016.12.27 |
---|---|
포인터 평면 위의 점 (0) | 2016.12.27 |
찾아 바꾸기 (0) | 2016.08.22 |
전광판 만들기 (0) | 2016.08.22 |
문자열로 연산하기 (0) | 2016.08.22 |