자격증/정보처리기사 실기 - 기출문제
[정보처리기사 실기] 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 |