본문 바로가기

While문

[백준/C언어] 1110번 - 더하기 사이클 백준 웹사이트 "1110번 - 더하기 사이클" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 소스 코드 #include int main(void){ int first_N, N; scanf("%d", &first_N); N = first_N; int cycle = 0; while(1){ int digit_sum = N/10 + N%10; // N의 자릿수들의 합 N = (N%10)*10 + digit_sum%10; // 새로운 N.. 더보기
[백준/C언어] 10951번 - A+B - 4 백준 웹사이트 "10951번 - A+B - 4" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 소스 코드 #include int main(void){ int A, B; while(1){ if(scanf("%d %d", &A, &B) == EOF) // EOF는 입력의 종료를 의미. 'Ctrl+Z (^Z)'로 시행 break; else printf("%d\n", A+B); } } 문제 풀이 어렵지 않은 것을 묻는 문제임에도 불구하고, 35.398% (2021.12.29 기준)의 낮은 정답률을 보이는 문제입니다. 그 이유는 아마 'EOF (End of Fi.. 더보기
[백준/C언어] 10952번 - A+B - 5 백준 웹사이트 "10952번 - A+B - 5" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 소스 코드 #include 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'은 fa.. 더보기