C언어/programmers

[programmers] 각도기

이렁부너 2024. 8. 25. 23:51

각도기

/*
* 각에서 0도 초과 90도 미만은 예각, 90도는 직각, 
* 90도 초과 180도 미만은 둔각 
* 180도는 평각으로 분류합니다. 
* 각 angle이 매개변수로 주어질 때 
* 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 
* return하도록 solution 함수를 완성해주세요.
*/

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int solution(int angle) {
    int answer = 0;
    if (angle < 90){
        answer = 1;
    }
    else if (angle == 90){
        answer = 2;
    }
    else if (angle < 180){
        answer = 3;
    }
    else if (angle == 180){
        answer = 4;
    }
    return answer;
}

각도를 입력받고 출력

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int solution(int angle);

int main(void)
{
    int angle = 0;

    while (1){
        printf("enter the angle : ");
        scanf("%d", &angle);

        int result = solution(angle);

        if (result == 1){
            printf("Acute angle");
            break;
        }
        else if (result == 2){
            printf("Right angle");
            break;
        }
        else if (result == 3){
            printf("Obtuse angle");
            break;
        }
        else if (result == 4){
            printf("Straight angle");
            break;
        }
        else{
            printf("Please enter again\n");
            continue;
        }
    }
}

int solution(int angle) {
    int answer = 0;

    if (angle < 90){
        answer = 1;
    }
    else if (angle == 90){          
        answer = 2;
    }
    else if (angle < 180){          // C언어는 연속된 비교 연산을 지원하지 않기에 이렇게 표현
        answer = 3;
    }
    else if (angle == 180){
        answer = 4;
    }
    else if (180 < angle){
        answer = 5;
    }
    return answer;
}