문제의 소재
A, B ≠ 0인 동안 정수 A, B를 입력받고, A+B를 출력하는 문제이다.
해답
while문 조건안에 cin>>A>>B를 넣어 반복적으로 정수를 입력받고 대신 if문으로 A, B = 0일 때 break;를 해주었다.
cin이 조건문 위치에서 사용될 경우 예외적으로 입력된 자료형과 변수의 자료형이 일치하면 true를 반환하고 그렇지 않으면 false를 반환한다. 따라서 아래 코드와 같이 while (cin>>A>>B)로 사용될 경우 A, B가 정수로 입력되면 while문이 실행되나, 문자나 문자열이 입력될 경우 while문이 중단된다.
// BOJ_10952.cpp
#include <iostream>
using namespace std;
int main()
{
int A, B;
while (cin>>A>>B)
{
if (A == 0 and B == 0) break;
cout<<A+B<<endl;
}
return 0;
}
반응형
댓글