14주차 퀴즈
문제1
다음 프로그램의 출력은(1점)?
construct, add, print 함수가 어떻게 동작하는 지를 설명하세요(3점).
할당된 메모리를 모두 반납하는 destruct 함수를 완성하세요(2점).
#include <stdio.h>
#include <stdlib.h>
struct Node {
int value;
Node* next;
};
Node* construct(int v = 0)
{
Node* n = (Node*)malloc(sizeof(Node));
n->value = v;
n->next = NULL;
return n;
}
Node* add(Node* root, int v)
{
if (root->next == NULL || root->value > v) {
Node* n = construct(v);
n->next = root;
root = n;
}
else {
root->next = add(root->next, v);
}
return root;
}
void print(Node* root)
{
for(Node* n = root; n->next != NULL; n = n->next)
printf("%d ", n->value);
printf("\n");
}
void destruct(Node* root)
{
// insert code here
}
int main()
{
Node* root = construct();
root = add(root, 5);
root = add(root, 9);
root = add(root, 2);
root = add(root, 7);
print(root);
destruct(root);
}
문제2
명령어 라인으로 주어진 파일의 내용이 동일한 지를 검사하는 프로그램을 작성하세요(2점).
C:\> Compare.exe a.txt a.txt
a.txt와 a.txt는 동일합니다.
C:\> Compare.exe a.txt b.txt
a.txt와 b.txt는 서로 다릅니다.
C:\>
문제3
추가 설명이 필요한 것을 알려주세요.
댓글남기기