Tycoon/알고리즘의 이해(2): C언어편 (完)

[알고리즘의 이해(2): C언어편] 연습문제 4장

nyamnmm 2025. 1. 2. 20:49
『 1~100을 이용한 알고리즘의 이해 2: C언어편 』
저자: 김득수
사용 프로그램: Visual Studio 2019
※ 본 게시글에 작성된 문제는 책 본문과 일치하지 않는 부분이 존재하며, 풀이 또한 정확하지 않습니다.

 


 

4-1.
5~20까지 정수의 합을 구하는 중 변수가 8이 되면 중단하고 5~8까지의 합을 구하는 순서도를 완성하시오.

 

문제풀이
#include <stdio.h>

void main() {
	int i;
	int sum = 0;

	for (i = 5; i <= 20; i++) {
		sum = sum + i;
        
		if (i == 8) {
			break;
		}
	}

	printf("시작 : 5\n");
	printf("종료 : %d \n", i);
	printf("5부터 %d까지의 합 : %d", i, sum);
}

 

실행결과
시작 : 5
종료 : 8
5부터 8까지의 합 : 26

 


 

4-2. 3~8까지의 합을 구하고 홀수의 개수를 구하는 순서도를 완성하시오.
문제풀이
#include <stdio.h>

void main() {
	int i;
	int sum = 0;
	int cnt = 0;

	for (i = 3; i <= 8; i++) {
		sum = sum + i;

		if ((i % 2) == 1) {
			cnt++;
		}
	}

	printf("3 ~ 8까지의 합 : %d \n", sum);
	printf("3 ~ 8까지 홀수의 개수 : %d", cnt);
}

 

실행결과
3 ~ 8까지의 합 : 33
3 ~ 8까지 홀수의 개수 : 3

 


 

4-3.
입력된 수는 a, b이고 두 수 중에서 큰 수는 a, 작은 수는 b로 하고 큰 수, 작은 수 순서로 출력하는 순서도를 완성하시오.

 

문제풀이
#include <stdio.h>

void main() {
	int a = 3;
	int b = 1;
	int t;

	if (a < b) {
		t = a;
		a = b;
		b = t;
	}

	printf("%d %d", a, b);
}

 

실행결과
3 1

 


 

4-4. 2~5까지 3ⁿ (n=2,3,4,5)을 출력하는 순서도를 완성하시오.
문제풀이
#include <stdio.h>

void main() {
	int mul = 3;	// mul에 들어가는 값은 xⁿ에서 x의 값
	int i;

	for (i = 2; i <= 5; i++) {
		mul = mul * 3;
		printf("3의 %d제곱 : %d\n", i, mul);
	}
}

 

실행결과
3의 2제곱 : 9
3의 3제곱 : 27
3의 4제곱 : 81
3의 5제곱 : 243