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;
}
'[1] 프로그래밍1 및 실습(C언어) > 5주차. 함수' 카테고리의 다른 글
| [5주차][변수의 scope] 3단계 연습문제 (0) | 2026.04.01 |
|---|---|
| [5주차][변수의 scope] 2단계 연습문제 (0) | 2026.04.01 |
| [5주차][변수의 scope] 1단계 연습문제 - 코드읽기 (0) | 2026.04.01 |
| [5주차][함수의 정의] 3단계 연습문제 (0) | 2026.03.29 |
| [5주차][함수의 정의] 1단계 연습문제 (0) | 2026.03.29 |