출처 : [2021년 제1회 기사 실기 출제예상 문제] (6과목) 프로그램밍 언어 활용 - 20 : 네이버 카페 (naver.com)
빈칸에 들어갈 코드를 작성하시오
#include <stdio.h>
#define MAX_SIZE 10 // 스택 최대사이즈 지정
int stack[MAX_SIZE]; // 스택(배열)
int top; // 스택 top
// 스택 초기화
void init() { top = -1; }
// 스택 push 함수 (데이터 삽입)
int push(int val)
{
if(top >= MAX_SIZE - 1) {
printf("statck overflow\n");
return -1;
}
stack[빈칸1] = val; //top을 1증가 시키고 val을 스택에 넣음
return val;
}
// 스택 pop함수 (데이터를 꺼냄)
int pop(void)
{
if(top<0){
printf("stack underflow\n");
return -1;
}
return stack[빈칸 2]; //top을 1 감소
}
// 스택 내용 출력 함수
void print_stack() {
int i;
printf("in stack..");
for(i=top; i >= 0; i--) {
printf("%d", stack[i]);
}
printf("\n");
}
int main()
{
int i;
int item;
init();
// 스택에 1부터 10까지 삽입
for(i=1; i <= 10; i++) {
push(i);
}
//삽입확인
print_stack();
//스택에서 하나 꺼냄
item = pop();
printf("pop item is %d\n", item); // 꺼낸 데이터를 화면에 출력
// 스택 확인
print_stack();
return 0;
}
정답
빈칸 1 : ++top (top 이 -1이 초기값이므로 미리 더해야 한다.)
빈칸 2 : top
'정보처리기사 Daily 문제' 카테고리의 다른 글
정보처리기사 실기 Daily 문제 26 (0) | 2021.06.09 |
---|---|
정보처리기사 실기 Daily 문제 25 (0) | 2021.06.08 |
정보처리기사 실기 Daily 문제 23 (0) | 2021.06.06 |
정보처리기사 실기 Daily 문제 22 (0) | 2021.06.05 |
정보처리기사 실기 Daily 문제 21 (0) | 2021.06.04 |