728x90
반응형

문제

두 정수 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

 

내가 작성한 코드 (C++ 성공)

#include <iostream>
 
using namespace std;

int main(){
    int a, b;

    while(cin >> a >> b){
        cout << a+b << "\n";  
    }
	
    return 0;
}

 

정리

이 문제는 while 반복문을 사용해서 푸는 문제였다.
그래서 while 문을 사용하려면 입력할 때는 괜찮지만 어떻게 끝내야하지? 라는 생각이 들었다.
검색을 해보니 eof 를 사용해서 구분하는 경우가 있어서 아래의 코드로 시도해보았다.
하지만 결과는 실패.
그래서 while 문의 조건에 입력하는 구문을 그대로 넣고 입력이 없으면 반복문이 종료되도록 해서 시도했더니
정답이었다.
eof에 대해서 조금은 짚고 넘어가야할 것 같다.

#include <iostream>
 
using namespace std;

int main(){
    int a, b;

    while(!cin.eof()){
    	cin >> a >> b;
        cout << a+b << "\n";  
    }
	
    return 0;
}
728x90
반응형
복사했습니다!