💻 개인공부 💻/알고리즘

[백준 - 10951] A+B - 4 (feat. EOF)

공대생 배기웅 2020. 7. 31. 05:43
반응형

출처 -> https://www.acmicpc.net/problem/10951

 

10951번: A+B - 4

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

각 테스트 케이스마다 A+B를 출력한다.

예제 입력 1 복사

1 1

2 3

3 4

9 8

5 2

예제 출력 1 복사

2

5

7

17

7

 

 

소스코드 및 실행 결과

1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main(void) {
    int a, b;
    while (cin >> a >> b) {
        
        cout << a + b << endl;
    }
}
 
cs

 

 

 

오답 이유

 

EOF

 

두  정수를 입력받아 합을 출력하는 문제로 간단하지만 입력받을 정수 쌍(테스트 케이스)의 개수와 종료 조건이 명시되어 있지 않다.

 

따라서 정상적인 프로그램 종료를 위해 데이터 소스로부터 더 이상 읽을 수 없는 데이터가 없음을 나타내야 하는 문제가 발생한다. 이를 파일 끝, EOF(End Of File)라고 부른다.

프로그램에서 파일의 끝을 만났음을 알리기 위해 매크로로 정의된 EOF 값을 리턴해야 한다. 

 

위의 방식대로 소스를 작성하면 입력이 있을 경우는 true, 입력이 없는 경우에는 false를 리턴하게 되어 테스트케이스가 주어지지 않아도 문제를 해결할 수 있다. 

728x90
반응형

'💻 개인공부 💻 > 알고리즘' 카테고리의 다른 글

[백준 - 2562] 최댓값  (0) 2020.07.31
[백준 - 1110] 더하기 사이클  (0) 2020.07.31
[백준 - 10171] 고양이  (0) 2020.07.31
[백준 - 1008] A/B  (0) 2020.07.31
[2018 국민대 알고리즘대회 예제 - 1]  (0) 2020.07.30