자격증/정보처리기사 실기 - 기출문제

[정보처리기사 실기] 2022년 1회 15 - 프로그래밍 [C]

쏠솔랄라 2025. 7. 19. 13:04

 

 

 

15 다음은 정수를 역순으로 출력하는 C언어 프로그램이다. 예를 들어 1234의 역순은 4321이다. 단, 1230처럼 0으로 끝나는 정수는 고려하지 않는다. 프로그램을 분석하여 괄호(①~③)에 들어갈 알맞은 연산자를 쓰시오.

#include <stdio.h>
int main() {
	int number = 1234;
	int div = 10, result = 0;
	
	while(number (   ①   ) 0 {
		result = result * div;
		result = result + number (   ②   ) div;
		number = number (   ③   ) div;
	}
	printf("%d", result);
}

 

 

 

더보기

① > 또는 !=

② %

③ /

 

 

 

해설

코드 실행순서 및 해석
1 #include <stdio.h>    
2 int main() { 1  
3      int number = 1234; 2 정수형 변수를 선언하고 1234로 초기화
4      int div = 10, result = 0; 3 정수형 변수 div를 10으로 초기화
result를 0으로 초기화
5      while(number (   ①   ) 0 { 4 number가 0이 될 때까지 반복
6           result = result * div; 5 result에는 div를 곱해 넣음
7           result = result + number (   ②   ) div; 6 result에 6에서 넣은 result와 number의 나머지를 더해 넣음
8           number = number (   ③   ) div; 7 number에 number를 div로 나눈 값을 넣음
9      }    
10      printf("%d", result);    
11 }    

 

number div result result=result*div result=result+number%div number=number/div
1234 10 0 0*10=0 0+4=4 1234/10=123
123 10 4 4*10=40 40+3=43 123/10=12
12 10 43 43*10=430 430+2=432 12/10=1
1 10 432 4320*10=4320 4320+1=4321 1/0=0
0(종료)   4321