2-1. 두 과목 평균 계산 프로그램

문제설명

두 과목의 점수를 입력받아 평균을 출력하는 프로그램을 작성하세요. 단, 기능별로 함수를 나누어 구현해야 합니다.

 

목표

  • 프로그램을 입력, 계산, 출력 기능으로 나눌 수 있다.

요구사항

다음 3개의 함수를 만들어 사용하세요.

  • int read_score(void);
  • double calculate_average(int score1, int score2);
  • void print_average(double average);

출력예시

첫 번째 점수: 80
두 번째 점수: 90
평균: 85.0

 

코드예시

더보기
더보기
#include <stdio.h>

int read_score(void)
{
    int score;
    scanf("%d", &score);
    return score;
}

double calculate_average(int score1, int score2)
{
    return (score1 + score2) / 2.0;
}

void print_average(double average)
{
    printf("평균: %.1f\n", average);
}

int main(void)
{
    int score1, score2;
    double average;

    printf("첫 번째 점수: ");
    score1 = read_score();

    printf("두 번째 점수: ");
    score2 = read_score();

    average = calculate_average(score1, score2);
    print_average(average);

    return 0;
}

 

 

2-2. 직사각형 넓이와 둘레 구하기

문제설명

가로와 세로를 입력받아 직사각형의 넓이와 둘레를 출력하는 프로그램을 작성하세요.

 

목표

  • 하나의 문제를 여러 함수로 나누어 해결할 수 있다.

요구사항

다음 함수를 정의하여 사용하세요.

  • int input_number(void);
  • int get_area(int width, int height);
  • int get_perimeter(int width, int height);
  • void print_result(int area, int perimeter);

출력예시

가로: 5
세로: 3
넓이: 15
둘레: 16

 

코드예시

더보기
더보기
#include <stdio.h>

int input_number(void)
{
    int num;
    scanf("%d", &num);
    return num;
}

int get_area(int width, int height)
{
    return width * height;
}

int get_perimeter(int width, int height)
{
    return 2 * (width + height);
}

void print_result(int area, int perimeter)
{
    printf("넓이: %d\n", area);
    printf("둘레: %d\n", perimeter);
}

int main(void)
{
    int width, height;
    int area, perimeter;

    printf("가로: ");
    width = input_number();

    printf("세로: ");
    height = input_number();

    area = get_area(width, height);
    perimeter = get_perimeter(width, height);

    print_result(area, perimeter);

    return 0;
}

 

2-3. 계산기 프로그램

문제설명

두 정수와 연산자(+, -, *)를 입력받아 결과를 출력하는 간단한 계산기 프로그램을 작성하세요.

 

목표

  • 입력, 계산, 출력 기능을 함수로 분리할 수 있다.
  • 조건문을 이용해 기능을 나눌 수 있다.

요구사항

다음 함수를 정의하세요.

  • int read_number(void);
  • char read_operator(void);
  • int calculate(int num1, int num2, char op);
  • void print_result(int result);

출력예시

첫 번째 수: 7
연산자: *
두 번째 수: 8
결과: 56

 

코드예시

더보기
더보기
#include <stdio.h>

int read_number(void)
{
    int num;
    scanf("%d", &num);
    return num;
}

char read_operator(void)
{
    char op;
    scanf(" %c", &op);
    return op;
}

int calculate(int num1, int num2, char op)
{
    if (op == '+')
        return num1 + num2;
    else if (op == '-')
        return num1 - num2;
    else
        return num1 * num2;
}

void print_result(int result)
{
    printf("결과: %d\n", result);
}

int main(void)
{
    int num1, num2, result;
    char op;

    printf("첫 번째 수: ");
    num1 = read_number();

    printf("연산자: ");
    op = read_operator();

    printf("두 번째 수: ");
    num2 = read_number();

    result = calculate(num1, num2, op);
    print_result(result);

    return 0;
}

 

 

+ Recent posts