- 1 -

Similar documents
- 1 -

2010 초등부문제 1. 나, 아버지, 할아버지의나이관계가다음과같다. 나와아버지의나이차이는 30 이고, 아버지와할아버지의나이차이는 26이고, 나와할아버지의나이합은 90이다. 나는몇살인가? 2. 기약분수는분자와분모의최대공약수가 1 인분수이다. 분수 와분수 사이의 분수중에

untitled

Problem 정보영재교육센터경남김해단비컴퓨터학원 2010 시도예선초등부문제 1. 나, 아버지, 할아버지의나이관계가다음과같다. 나와아버지의나이차이는 30이고, 아버지와할아버지의나이차이는 26이고, 나와할아버지의나이합은 90이다. 나는몇살인가?

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<C1DFB0EDB5EEBACE2E687770>

2008 시도예선초등부문제 1. 다음은일정한규칙에따라수를늘어놓은것이다. 빈칸에가장알맞은수는? 2, 3, 5, 8, 12, 17, ( ) 2. A, B, C, D 가각각 0~9 까지숫자중에하나이고다른알파벳은다른숫자를나타낸 다. 다음식을만족하는 D 의값은? 3. 1 을 7

중간고사

OCW_C언어 기초

02장.배열과 클래스

untitled

untitled


0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

C 언어 프로그래밊 과제 풀이

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap05-제어문.pptx

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Microsoft PowerPoint - Java7.pptx

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

금오공대 컴퓨터공학전공 강의자료


Microsoft PowerPoint - chap13-입출력라이브러리.pptx

본 강의에 들어가기 전

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

C 프로그래밊 개요

C 프로그래밊 개요


2015 개정교육과정에따른정보과평가기준개발연구 연구책임자 공동연구자 연구협력관

Microsoft PowerPoint - chap06-2pointer.ppt

Infinity(∞) Strategy

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

11장 포인터

제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

Microsoft PowerPoint - 제11장 포인터(강의)

; struct point p[10] = {{1, 2, {5, -3, {-3, 5, {-6, -2, {2, 2, {-3, -3, {-9, 2, {7, 8, {-6, 4, {8, -5; for (i = 0; i < 10; i++){ if (p[i].x > 0 && p[i

Microsoft PowerPoint - 제11장 포인터

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - chap04-연산자.pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap11-포인터의활용.pptx

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint - chap-11.pptx

1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문

PowerPoint 프레젠테이션

11장 포인터

PowerPoint Presentation

슬라이드 1

: 1 int arr[9]; int n, i; printf(" : "); scanf("%d", &n); : : for(i=1; i<10; i++) arr[i-1] = n * i; for(i=0; i<9; i++) if(i%2 == 1) print

Microsoft PowerPoint - chap10-함수의활용.pptx

PowerPoint 프레젠테이션

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

문제는다양한방법으로풀수있으며, 다음의풀이는여러해법중하나이다. [ 문제 1] 밀도구하기 질량밀도 이다. 물체의질량 M과부피 V가주어지면밀도는 M/V로구할수있다. 부피 여기서질량 M 과부피 V 는정수이지만 M/V 은실수가될수있기때문에 M 과 V 를받 을때실수로입력받는다.

1. 표준입출력 C++ : C의모든라이브러리를포함 printf, scanf 함수사용가능예 : int, double, 문자열값을입력받고출력하기 #include <cstdio> int ivar; double dvar; char str[20]; printf("int, dou

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

歯9장.PDF

03장.스택.key

Microsoft PowerPoint - chap06-1Array.ppt

와플-4년-2호-본문-15.ps

Microsoft PowerPoint - chap06-4 [호환 모드]

설계란 무엇인가?

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7>

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

1장. 유닉스 시스템 프로그래밍 개요

PowerPoint 프레젠테이션

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

RYWKVGWKJOFY.hwp

Line (A) å j a k= i k #define max(a, b) (((a) >= (b))? (a) : (b)) long MaxSubseqSum0(int A[], unsigned Left, unsigned Right) { int Center, i; long Max

Microsoft PowerPoint - additional01.ppt [호환 모드]

31. 을전개한식에서 의계수는? 를전개한식이 일 때, 의값은? 을전개했을때, 의계수와상수항의합을구하면? 을전개했을때, 의 계수는? 를전개했을때, 상수항을 구하여라. 37

Microsoft PowerPoint - chap-03.pptx

Microsoft PowerPoint - chap12-고급기능.pptx

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>

Microsoft PowerPoint - Chapter_08.pptx

Microsoft PowerPoint - Lesson2.pptx

슬라이드 1

PowerPoint 프레젠테이션

chap 5: Trees

윈도우즈프로그래밍(1)

Microsoft PowerPoint - C++ 5 .pptx

Run 봄 연습 Mar 18 Mar 24, 2018, Week 3 문제 1. 초코바 입력 파일: 출력 파일: 시간 제한: 메모리 제한: standard input standard output 1 seconds 128 megabytes H W 격자 모양의 초콜릿이 있다.

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

PowerPoint Presentation

TEST BANK & SOLUTION

PowerPoint 프레젠테이션

Microsoft PowerPoint - [2009] 02.pptx

2002년 2학기 자료구조

K&R2 Reference Manual 번역본

ch15

PowerPoint 프레젠테이션

컴파일러

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

Microsoft PowerPoint - ch 전처리기, 다중 소스파일 pm1015

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

금오공대 컴퓨터공학전공 강의자료

Transcription:

- 1 -

2013 시도예선초등부문제 1. 빨간구슬, 노란구슬, 파란구슬이각각한개씩있다. 세구슬의무게의합이 70Kg 이고, 빨간구슬과노란구슬의무게의합이 40Kg 이며, 노란구슬과파란구슬의무게의합이 50Kg 일때, 노란구슬의무게는몇 Kg 인가? 1 5 2 10 3 15 4 20 5 30 2. 의마지막자리의숫자 (1 의자릿수 ) 는얼마인가? 1 0 2 1 3 2 4 3 5 5 3. 무게가서로다른구슬세개가있다. 양팔저울을사용하여가장가벼운구슬, 중간무 게의구슬, 가장무거운구슬의순서대로나열하고싶다. 양팔저울을최소몇번사용 하면항상나열할수있는가? 1 2 2 3 3 4 4 5 5 6 4. 철수와영희는점 P에서동시에출발하여달리기를한다. 철수는경로 A를따라달리고, 영희는경로 B를따라철수와같은빠르기로달린다. 변옆의수는변의길이를나타낸다. 철수가 10바퀴돌았을때영희와몇번만났는가? 단, 처음출발할때만난것은제외한다. P 15 5 B A 7 8 7 15 5 8 1 0 2 1 3 2 4 3 5 4 5. 30 명의학생들에게두문제가주어졌다. 1 번문제를푼학생이 25 명이고, 2 번문제를 푼학생이 20 명이다. 이경우, 두문제모두푼학생수의최소와최대는각각얼마인 가? 1 15, 30 2 10, 15 3 5, 15 4 5, 20 5 15, 20-2 -

6. 상자에빨간색왼쪽장갑 5개, 빨간색오른쪽장갑 5개, 노란색왼쪽장갑 3개, 노란색오른쪽장갑 3개, 흰색왼쪽장갑 2개, 흰색오른쪽장갑 2개가들어있다. 이제상자에손을넣어장갑을하나씩꺼내려한다. 단, 한번꺼낸장갑은다시상자에넣지않는다. 상자에서장갑을꺼낸후에만장갑의색을알수있다고한다. 그러면적어도몇개의장갑을꺼내야만같은색의왼쪽, 오른쪽장갑한쌍을항상꺼낼수있을까? 1 5 2 9 3 11 4 15 5 19 7. 왼손의손가락은순서대로엄지, 검지, 중지, 인지, 약지라고부른다. 철수가왼손을이용하여 1부터 100까지 100개의수를차례대로다음과같이센다. 먼저엄지부터시작하여수를세는데, 엄지는 1, 검지는 2, 중지는 3, 인지는 4, 약지는 5라고센다. 그다음방향을바꿔서인지 6, 중지 7, 검지 8, 엄지 9라고세고, 다시방향을바꿔검지 10, 중지 11,... 이런식으로센다. 그러면 100은어떤손가락일까? 1 엄지 2 검지 3 중지 4 인지 5 약지 8. 길이가 100cm 인줄자가하나있다. 이줄자를길이가 1cm 인 100 개의조각들로나누고 싶다. 여러개의줄자조각들을모아한번에자를수있다고할때, 최소몇번만자 르면가능할까? 단, 줄자는접을수없다. 1 7 2 8 3 9 4 10 5 99 9. 1 부터 100 까지모든정수의각자리에나타난수를모두더하면얼마인가? 1 899 2 900 3 901 4 902 5 903 10. 1부터시작하여, 이전의수에 2를곱하거나, 이전의수에 1을더하는연산을이용하여숫자들을차례로만든다고하자. 다음은 13을만드는두방법을보여준다. 방법1: 1 2 3 6 12 13 방법2: 1 2 4 5 6 12 13 주어진두가지연산만을이용하여 13을만드는방법은위의방법이외에도여러가지있다. 그중에서, 13을만드는최소연산횟수는위의방법1과같이 5이다. 250을만드는데필요한최소연산횟수는얼마인가? 1 8 2 9 3 10 4 11 5 12 11. 아래표에나타난 100 개의수를모두더하면얼마인가? - 3 -

1 2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 11 3 4 5 6 7 8 9 10 11 12 4 5 6 7 8 9 10 11 12 13 5 6 7 8 9 10 11 12 13 14 6 7 8 9 10 11 12 13 14 15 7 8 9 10 11 12 13 14 15 16 8 9 10 11 12 13 14 15 16 17 9 10 11 12 13 14 15 16 17 18 10 11 12 13 14 15 16 17 18 19 1 550 2 850 3 950 4 1000 5 1050 12. A, B, C, D, E 다섯개의문자로만이루어진메시지를주고받으려한다. 메시지를주고받기전에 A는 00, B는 01, C는 100, D는 101, E는 11로나타내었다. 예를들어, 메시지 BBD를보내려면 0101101을보내면된다. 1001010110110000이라는메시지를받았다면, 이메시지에있는문자는모두몇개인가? 1 4 2 5 3 6 4 7 5 8 13. 네명의학생갑, 을, 병, 정이 100m 달리기를하였다. 친구들이달리기결과를다음과같이예측하였다. ( 친구1) 1등 : 갑, 2등 : 을, 3등 : 병 ( 친구2) 1등 : 을, 2등 : 병, 3등 : 정 ( 친구3) 1등 : 병, 2등 : 갑, 3등 : 정경기가끝났을때, 위의친구세명은각각한명의등수만정확하게맞추었다. 또한세명의친구가맞춘등수는모두달랐다. 이때, 2등한학생은누구인가? 1 갑 2 을 3 병 4 정 5 알수없음 14. 다음과같이숫자가표시된카드 11 장이있다. 이카드들중에서여러장을뽑아서뽑 힌카드들의숫자를모두더하여하나의수를만들려고한다. 만들수없는수들중에 서가장작은수는? 1 1 2 5 7 17 17 35 83 170 340 1 89 2 129 3 169 4 339 5 449-4 -

15. 세야구팀갑, 을, 병이서로한번씩의경기를하였다. 갑은두경기에서 4 득점을하 였고, 4 실점을하였다. 을은두경기에서 4 득점을하였고, 3 실점을하였다. 병은두경기 에서 4 득점을하였고, 5 실점을하였다. 갑과병사이의경기점수로가능한것은? 1 3:2 2 2:2 3 4:2 4 2:1 5 3:1 [16-40] 문제나프로그램내에명시되지않은모든변수와배열은 int 형이다. 16. 다음프로그램의출력결과는무엇인가? int y = 2013, m = 5, d = 25; printf("%d\n", y + m * d); 1 2013 2 2018 3 2038 4 2043 5 2138 17. 다음프로그램의출력결과는무엇인가? int i, tot = 0; for (i = 2010; i <= 2013; i++) { tot = tot + 3 * (i - 2000) + 1; printf("%d\n", tot); 1 140 2 142 3 144 4 146 5 148 18. 다음프로그램의출력결과는무엇인가? int i, y = 0; for (i = 2000; i <= 2013; i++) { if (i % 400 == 0) { y++; else if (i % 4 == 0 && i % 100!= 0) { y++; printf("%d\n", y); - 5 -

1 4 2 5 3 6 4 7 5 8 19. 다음프로그램의출력결과는무엇인가? int i = 1, count = 0; while (i * i <= 150) { count++; i++; printf("%d\n", count); 1 10 2 11 3 12 4 13 5 14 20. 다음프로그램의출력결과는무엇인가? int i, sum = 0; for (i = 1; i <= 2013; i += 13) { if (i % 2 == 0) { sum = sum + 1; else { sum = sum + 2; printf("%d\n", sum); 1 155 2 156 3 232 4 233 5 310 21. 다음프로그램의출력결과는무엇인가? int sum = 0, a = 2013; while (a > 0) { sum += a % 10; a /= 10; printf("%d\n", sum); - 6 -

1 1 2 2 3 3 4 5 5 6 22. 다음프로그램의출력결과는무엇인가? int i, a = 2, b = 3, c = 5; for (i = 2 ; i < 65; i++) { if (i % a == 0 && i % b == 0 && i % c == 0) { break; printf("%d\n", i); 1 6 2 15 3 30 4 60 5 65 23. f(5) 의값은무엇인가? int f(int n) { int i, tot = 0; for (i = 1; i <= n; i++) { tot = tot + i; return tot; 1 10 2 11 3 13 4 15 5 21 24. f(10) 의값은무엇인가? int f(int n) { int i, j, ret = 0; for (i = 1; i < n; i++) { for (j = 1; j < 2 * i; j++) { ret = ret + 1; return ret; - 7 -

1 45 2 55 3 81 4 90 5 100 25. 다음프로그램의출력결과는무엇인가? int L[14] = {6, -3, 2, -7, 4, -2, 3, 10, -2, 1, -3, -4, 5, -1; int S[14], M, i; S[0] = L[0]; for (i = 1; i < 14; i++) { if(s[i - 1] > 0) { S[i] = S[i - 1] + L[i]; else { S[i] = L[i]; M = S[0]; for (i = 1; i < 14; i++) { if(m < S[i]) M = S[i]; printf("%d\n", M); 1 14 2 15 3 16 4 17 5 18 26. 배열 a 에는다음과같은값이주어진다. int a[] = {1, 37, 3, 10, 13, 23, 4, 8, 17; 아래주어진함수 SomeAverage(a, 9, 5) 를호출했을때출력결과는무엇인가? void SomeAverage(int a[], int n, int m) { int i, j, sum; for (i = 0; i <= n - m; i++) { sum = 0; for (j = i; j < i + m; j++) { sum = sum + a[j]; - 8 -

printf("%d ", sum / m); printf("\n"); 1 13 17 11 12 13 2 12 17 10 11 13 3 12 17 11 12 13 4 12 17 10 12 13 5 12.8 17.2 10.6 11.6 13 27. f(3, 4) 의값은무엇인가? int f(int x, int n) { if (n == 1) { return 1; else { return x * f(x, n - 1); 1 1 2 3 3 9 4 27 5 81 28. f(4) 의값은무엇인가? int f(int n) { if (n <= 0) { return 1; else { return f(n - 1) + f(n - 3) * 3; 1 4 2 7 3 10 4 14 5 22 29. f(10, 20) 을실행한후, count 의값은무엇인가? int count = 0; int f(int a, int b) { - 9 -

if (a == b) { count++; return a; else { int mid; mid = (a + b) / 2; return f(a, mid) + f(mid + 1, b); 1 11 2 20 3 50 4 122 5 165 30. 다음프로그램의출력결과는무엇인가? int a[15] = {0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1; void f(int n) { if (n >= 15) return; if (a[n]!= 1) return; a[n] = 2; f(n + 1); int main() { int i, g; g = 0; for (i = 0; i < 15; i++) { if (a[i] == 1) { f(i); g = g + 1; printf("%d\n", g); return 0; 1 1 2 3 3 5 4 7 5 9 31. 다음프로그램의출력결과는무엇인가? - 10 -

int a[20] = {1, 4, 3, 2, 4, 1, 2, 5, 1, 2, 3, 5, 4, 1, 2, 1, 1, 1, 1, 9; int i, s = 0, gr = 0; for (i = 0; i < 20; i++) { if (a[i] + s > 10) { gr++; s = 0; else { s = s + a[i]; if (s > 0) { s = 0; gr++; printf("%d\n", gr); 1 1 2 4 3 5 4 6 5 20 32. 다음프로그램의출력결과는무엇인가? int i, x = 2, y = 2, xx, yy; for (i = 0; i < 2013; i++) { xx = -y; yy = x; x = xx; y = yy; printf("%d %d\n", x, y); 1 2 2 2 2-2 3-2 -2 4-2 2 5 0 2 33. 다음보기중에서가장큰값은무엇인가? int next[10] = {4, 1, 9, 0, 3, 2, 6, 5, 8, 7; int f(int n) { int i, k; - 11 -

i = next[n], k = 1; while (i!= n) { i = next[i]; k = k + 1; return k; 1 f(0) 2 f(1) 3 f(2) 4 f(3) 5 f(6) 34. f(8, 5) 의값은무엇인가? int f(int n, int r) { int p[11][11]; int i, j; for (i = 0; i <= n; i++) { for (j = 0; j <= n; j++) { p[i][j] = 0; p[0][0] = 1; for (i = 0; i <= n; i++) { p[i][0] = 1; for (j = 1; j <= i; j++) { p[i][j] = p[i - 1][j - 1] + p[i - 1][j]; return p[n][r]; 1 56 2 57 3 58 4 59 5 60 35. 다음보기중에서가장큰값은무엇인가? int f(int n) { int a[10] = {0, t = 0, i; while (n > 0) { a[n % 10] = 1; n = n / 10; - 12 -

for (i = 0; i < 10; ++i) t = t + a[i] * i; return t; 1 f(999999) 2 f(711587) 3 f(614331) 4 f(843211) 5 f(914312) 36. 다음보기중에서 SomeString(str1, str2) 를호출했을때 0 을반환하는것은무엇인가? ( 단, str1, str2 는 char[] 자료형이며, 각보기는 str1, str2 를차례로나타낸다.) int SomeString(char a[], char b[]) { int i, j, n, m; n = strlen(a); m = strlen(b); if (n!= m) { return 0; for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { if (a[i] == b[j]) { b[j] = '*'; break; for (i = 0; i < m; i++) { if (b[i]!= '*') { return 0; return 1; 1 2 3 4 5 "pizza" "pazzi" "listen" "silent" "competition" "emoticontip" "mississippi" "imisspsipis" "algorithm" "logtrimat" - 13 -

37. SomeNumbers() 를호출했을때출력결과는무엇인가? void SomeNumbers() { int i, j, tot; for (i = 10; i < 100; i++) { tot = 0; for (j = 1; j < i; j++) { if (i % j == 0) { tot = tot + j; if (tot == i) { printf("%d\n", i); 1 10 2 16 3 24 4 28 5 36 38. 다음프로그램의출력결과는무엇인가? int c = 0, i, j, k; char str[] = "akakakka"; int len = 8; int p; for (i = 0; i < len; i++) { for (j = i; j < len; j++) { p = 1; for (k = 0; i + k < j - k; k++) { if (str[i + k]!= str[j - k]) { p = 0; break; if (p == 1) { c = c + 1; - 14 -

printf("%d\n", c); 1 13 2 14 3 15 4 16 5 17 [39-40] 다음과같은문제를해결하기위해프로그램을작성하였다. 물음에답하시오. 0부터 9까지의숫자가표시된카드를가지고두사람 A와 B가게임을한다. A와 B에게는각각 0에서 9까지의숫자가하나씩표시된 10장의카드뭉치가주어진다. 두사람은카드를임의의순서로섞은후숫자가보이지않게일렬로늘어놓고게임을시작한다. 단, 게임도중카드의순서를바꿀수는없다. A와 B 각각이늘어놓은카드를뒤집어서표시된숫자를확인하는것을한라운드라고한다. 게임은첫번째놓인카드부터시작하여순서대로 10번의라운드로진행된다. 각라운드에서는공개된숫자가더큰사람이승자가된다. 승자에게는승점 3점이주어지고패자에게는승점이주어지지않는다. 만약공개된두숫자가같아서비기게되면, A, B 모두에게승점 1 점이주어진다. 10번의라운드가모두진행된후, 총승점이큰사람이게임의승자가된다. 만약, A와 B 의총승점이같은경우에는, 제일마지막에이긴사람을게임의승자로정한다. 그래도승부가나지않는경우는모든라운드에서비기는경우뿐이고이경우에두사람은비겼다고한다. 예를들어, 다음표에서 3번째줄은각라운드의승자를표시하고있다. 표에서 D는무승부를나타낸다. 이경우에 A의총승점은 16점이고, B는 13점이어서, A가게임의승자가된다. 라운드 1 2 3 4 5 6 7 8 9 10 A 4 5 6 7 0 1 2 3 9 8 B 1 2 3 4 5 6 7 8 9 0 승 A A A A B B B B D A 아래표의경우에는 A 와 B 의총승점은 13 점으로같다. 마지막으로승부가난라운드는 7 번째라운드이고, 이라운드의승자인 B 가게임의승자가된다. 라운드 1 2 3 4 5 6 7 8 9 10 A 9 1 7 2 6 3 0 4 8 5 B 6 3 9 2 1 0 7 4 8 5 승 A B B D A A B D D D A 와 B 가늘어놓은카드의숫자가순서대로주어질때, 게임의승자가 A 인지 B 인지, 또는 비겼는지결정하는프로그램을작성하시오. - 15 -

입력형식 입력파일의이름은 INPUT.TXT 로한다. 입력파일은두개의줄로이루어진다. 첫번째줄 에는 A 가늘어놓은카드의숫자들이빈칸을사이에두고순서대로주어진다. 두번째줄에는 B 가늘어놓은카드의숫자들이빈칸을사이에두고순서대로주어진다. 출력형식 출력파일의이름은 OUTPUT.TXT로한다. 첫번째줄에는게임이끝난후, A와 B가받은총승점을순서대로빈칸을사이에두고출력한다. 두번째줄에는이긴사람이 A인지 B인지결정해서, 이긴사람을문자 A 또는 B로출력한다. 만약비기는경우에는문자 D를출력한다. 입력과출력의예 입력 (INPUT.TXT) 7 1 6 2 3 0 5 9 4 8 7 1 6 2 3 0 5 9 4 8 출력 (OUTPUT.TXT) 10 10 D - 16 -

프로그램 #include <stdio.h> int A[10]; int B[10]; int main() { int i, j; int last_winner, A_score, B_score; FILE *fin, *fout; fin = fopen("input.txt", "rt"); for (i = 0; i < 10; i++) { fscanf(fin, "%d", &A[i]); for (i = 0; i < 10; i++) { fscanf(fin, "%d", &B[i]); fclose(fin); last_winner = -1; A_score = 0; B_score = 0; for (i = 0; i < 10; i++) { if (A[i] > B[i]) { A_score += 3, last_winner = 0; else if (A[i] < B[i]) { B_score += 3, last_winner = 1; else { A_score ++, B_score ++; fout = fopen ("OUTPUT.TXT", "wt"); fprintf(fout, "%d %d\n", A_score, B_score); if (A_score == B_score) { if ( (a) ) { fprintf(fout, "D"); - 17 -

else if ( (b) ) { fprintf(fout, "A"); else { fprintf(fout, "B"); else if (A_score > B_score) { fprintf(fout, "A"); else { fprintf(fout, "B"); fclose(fout); return 0; 39. 다음중 (a) 와 (b) 에들어갈내용으로알맞은것은? 1 (a) last_winner == 1 (b) last_winner == 0 2 (a) last_winner == -1 (b) last_winner == 0 3 (a) last_winner == -1 (b) last_winner == 1 4 (a) last_winner == 1 (b) last_winner == -1 5 (a) last_winner == 0 (b) last_winner == 1 40. 입력파일이다음과같이주어졌을때, 위프로그램의출력은무엇인가? 9 1 7 2 6 3 0 4 8 5 6 3 9 2 1 0 7 4 8 5 1 13 13 2 12 14 3 13 11 4 14 12 5 13 13 B B A A A - 18 -

- 19 -

2013 시도예선초등부정답 1. 4 2. 1 3. 2 4. 3 5. 5 6. 3 7. 4 8. 1 9. 3 10. 5 11. 4 12. 3 13. 1 14. 3 15. 1 16. 5 17. 2 18. 1 19. 3 20. 4 21. 5 22. 3 23. 4 24. 3 25. 2 26. 2 27. 4 28. 5 29. 1 30. 3 31. 2 32. 4 33. 3 34. 1 35. 2 36. 5 37. 4 38. 4 39. 2 40. 1-20 -