[C] 백준 10952번 : A+B - 5
2020. 6. 3. 08:45
입력받은 A와 B 모두 0일 때까지 두 수의 합을 출력하는 프로그램으로 문제는 아래와 같다.
while문에 익숙하지 않아서 다른 사람들의 코드들을 몇개 찾아본 후 코드를 작성했다.
결론부터 말하자면 처음 작성했던 코드를 백준에 제출하니 컴파일 에러가 났다.
#include <stdio.h>
int main(){
int A, B;
while(true){
scanf("%d %d", &A, &B);
if(A+B !=0){
printf("%d\n", A+B);
}
else{
break;
}
}
}
'컴파일 에러' 를 클릭하면 구체적으로 어디에서 에러가 났는지를 확인해볼 수 있는데 확인해보니 true가 선언되지 않은 부분에서 에러가 났다고 했다. 원래 true = 1 이라서 둘 다 써도 상관이 없다고 알고 있고, dev c++에서 둘 다 실행했을 때는 별 문제가 없었던 것 같은데 왜 에러가 난 건지 모르겠다..
그래서 while(1)로 코드를 수정하고, A와 B의 조건도 수정해주었다.
'두 수의 합이 0이 아닐 때' 라는 조건에서 '각각 모두 0이 아닐 때'의 조건으로 수정했다.
#include <stdio.h>
int main(){
int A, B;
while(1){
scanf("%d %d", &A, &B); //A와 B를 입력받는다
if(A!=0 && B!=0){ //A가 0이 아니고 B가 0이 아닐 때 두 수의 합을 출력
printf("%d\n", A+B);
}
else{ //위의 조건을 만족하지 못할 경우 종료
break;
}
}
}
백준에 제출하니 정답 !
'Programming > BOJ' 카테고리의 다른 글
[C] 백준 1110번 : 더하기사이클 (0) | 2020.08.25 |
---|---|
[C] 백준 10951번 : A+B - 4 (0) | 2020.06.07 |
[C] 백준 10871번 : X보다 작은 수 (0) | 2020.06.03 |
[C] 백준 2439번 : 별 찍기 - 2 (0) | 2020.06.02 |
[C] 백준 10950번 : 정수를 입력받은 후 합 출력 (0) | 2020.06.01 |