반응형

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

+ Recent posts