[C] 백준 10951번 : A+B - 4

2020. 6. 7. 09:08

 

두 정수 A와 B를 입력 받은 다음 A+B를 출력하는 프로그램으로, 문제는 아래와 같다.

 

 

백준 10951번

 

 

앞선 A+B의 문제들과는 다르게 이 문제에서는 프로그램 종료에 대해 특별히 명시해 놓은 것이 없다. 처음에는 그저 테스트 케이스를 입력하면 되겠거니 싶었는데 다른 사람들이 블로그에 풀이를 해놓은 것을 몇개 찾아보니 이 문제는 EOF에 대한 개념을 익히기 위한 문제라는 것을 알게 되었다.

 

EOF이란, End Of File을 의미하며 파일의 끝을 알려주는 입력을 말한다. 보통은 파일의 끝에 다다르면 자동적으로 그 입력이 실행되어 종료가 되지만 이 문제의 경우 별도로 그런 파일이 없기 때문에 ctrl+Z 라고 생각하면 된다.

 

즉, 위의 문제에서는 입력된 테스트 케이스들의 합을 출력하되, 파일의 끝을 알려주는 명령(ctrl+Z)을 입력하면 while문이 종료되도록 프로그램을 작성하면 해결된다.

 

#include <stdio.h>

int main(){
	int A=1, B=1;
	
    //EOF(ctrl+Z)가 아닐 경우 while문 속의 코드를 반복 실행
	while(scanf("%d %d", &A, &B) != EOF){
		printf("%d\n", A+B);
	}
	return 0;
}

 

위의 코드에서 scanf("%d %d", &A, &B) 코드가 while문의 조건 괄호 안에 들어갔는데도 해당 코드가 계속해서 반복된다는 점을 새로 알게 되었다. 

 

백준에 제출하니 정답처리 되었다. 

 

'Programming > BOJ' 카테고리의 다른 글

[C] 백준 10039번 : 평균 점수  (0) 2020.08.25
[C] 백준 1110번 : 더하기사이클  (0) 2020.08.25
[C] 백준 10952번 : A+B - 5  (0) 2020.06.03
[C] 백준 10871번 : X보다 작은 수  (0) 2020.06.03
[C] 백준 2439번 : 별 찍기 - 2  (0) 2020.06.02

BELATED ARTICLES

more