연습문제: 실수를 이용한 사칙연산 계산기 프로그램

  • 2 minutes to read

이 연습문제에서는 C 언어를 활용하여 두 실수와 하나의 산술 연산자를 입력받아, 사칙연산을 수행하는 간단한 계산기 프로그램을 작성합니다. 프로그램은 사용자가 입력한 연산에 대한 결과를 실수 형태로 출력합니다.

입력 및 출력 예제

테스트 케이스 1

  • 입력: 3.0 + 5.0
  • 출력: 8.000000

테스트 케이스 2

  • 입력: 9 / 2
  • 출력: 4.500000

구현된 프로그램 코드

다음은 사용자로부터 두 실수와 연산자를 입력받아 해당 사칙연산을 수행하고 결과를 실수로 출력하는 계산기 프로그램의 구현 코드입니다.

코드: judge_calculator.c

#define _CRT_SECURE_NO_WARNINGS // scanf 사용 시 보안 경고를 방지
#include <stdio.h>

int main(void) {
    double x = 0.0, y = 0.0;
    char opr;
    long double result = 0.0l;

    // 사용자 입력 받기
    scanf("%lf %c %lf", &x, &opr, &y);

    // 연산자에 따른 연산 수행
    switch (opr) {
        case '+':
            result = x + y;
            break;
        case '-':
            result = x - y;
            break;
        case '*':
            result = x * y;
            break;
        case '/':
            result = x / y;
            break;
        default:
            printf("지원하지 않는 연산자입니다.\n");
            return 1;
    }

    // 결과 출력
    printf("%Lf\n", result);

    return 0;
}

추가 테스트 케이스 결과

  • 4 + 4 입력 시 8.000000 출력
  • 4 - 2 입력 시 2.000000 출력
  • 4 * 3 입력 시 12.000000 출력
  • 9 / 2 입력 시 4.500000 출력
  • 9.0 / 2 입력 시 4.500000 출력
  • 9 / 2.0 입력 시 4.500000 출력

해설

프로그램은 scanf 함수를 사용하여 사용자로부터 두 개의 실수 값을 %lf 형식 지정자를 사용해 입력받습니다. 연산자는 %c로 받으며, 변수에 값을 저장할 때는 & 기호를 사용하는 것이 중요합니다. 사용자가 입력한 연산자에 따라 switch 문을 통해 적절한 사칙연산을 수행하고, printf 함수의 %Lf 형식 지정자를 통해 실수 형태의 연산 결과를 출력합니다.

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com