본문 바로가기

코딩/백준 BOJ

[백준/C언어] 10952번 - A+B - 5

백준 웹사이트 "10952번 - A+B - 5" 문제풀이입니다.

언어는 C언어입니다. (제출 언어: C99)

 


문제

 

10952번: A+B - 5

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

www.acmicpc.net


소스 코드

#include <stdio.h>

int main(void){
    int A, B;
    
    while(1){
        scanf("%d %d", &A, &B);
        if(A==0 && B==0)
            break;
        else
            printf("%d\n", A+B);
    }
}

문제 풀이

  특정 조건이 만족될 때까지 루프 안의 코드가 계속해서 반복되는 while문을 이용하는 문제입니다. 조건문을 작성하는 방법에 따라 다양한 풀이 방법이 있을텐데, 저는 while(1)을 선호합니다. C언어의 경우 '0'은 false (거짓), '1'은 true (참)을 의미합니다. 따라서 while(1)으로 작성하면 조건문은 항상 참이므로, while문은 영원히 돌게 됩니다. 이 영원한 루프를 깨는 방법이 있는데, 코드를 실행하는 도중 'break'를 만나면 while문의 밖으로 나오게 됩니다. 따라서 break를 원하는 조건의 if문 안에 넣어주어, 원하는 조건이 만족될 때 while문의 밖으로 나오게끔 조작할 수 있습니다.

  '0 0'이 입력되었을 때, '0'은 출력되지 않아야 한다는 것만 주의해주세요. printf문을 break 검사 전에 작성하면 '0 0'의 결과까지 출력될 수도 있습니다.

반응형