본문 바로가기

C 언어

백준으로 배우는 C 언어 14. 구구단

백준 단계별 풀어보기의 3 번째 단계입니다! 이번 단계에서는 for 문을 배울 건데요, if 문과 마찬가지로 프로그래밍을 할 때 가장 많이 사용되는 함수 중 하나입니다. for 문은 반복문이라고도 하는데요, 특정 조건을 만족하기 전까지 무한하게 반복하는 특징을 가지고 있습니다. 그럼 바로 배워보도록 하죠!


 

백준으로 배우는 C 언어 12. 상근날드

저번 문제들에서 관계 연산자와 논리 연산자들에 대해서 배웠는데요, 이번 문제에서는 이 두 연산자들을 같이 활용해보도록 하죠. 백준으로 배우는 C 언어 10. 두 수 비교하기 백준의 단계별 풀어보기 1단계를 마..

torotoblog.tistory.com

 

백준으로 배우는 C 언어 13. 세 수

백준 단계별 풀어보기 2 단계, if 문의 마지막 문제입니다! 사실 이번 문제는 저번 문제들에서 배운 논리 연산자와 관계 연산자를 조금만 응용하면 금방 만들 수 있지만 초보자는 쉽게 놓칠 수 있는 부분이 있어..

torotoblog.tistory.com


for 문 단계의 첫 번째 문제는 구구단(#2739)입니다! 숫자 하나를 입력받은 후 그 숫자의 구구단을 출력해야 하는 문제이죠. printf 함수를 9줄 적어서 출력하는 방법도 있지만 효율적이지 않죠. 구구단이 아니라 100줄넘게 출력해야 할 때도 일일이 다 입력하고 있을 수는 없자나요.. 하지만 for 문을 사용하면 2줄 만으로 구구단을 출력할 수 있습니다. 코드를 살펴볼까요?

#include <stdio.h>

int main(void) {
    int a;
    scanf("%d", &a);
    
    for (int i = 1; i < 10; i++) {
        printf("%d * %d = %d\n", a, i, a * i);
    }
    
    return 0;
}

for 문입니다! 복잡해 보이지만 원리를 알고 나면 엄청 간단하죠.

for ([초기화]; [조건]; [증감]) {
    [실행할 코드]
}

for 문의 기본 형태입니다. 초기화(Initialization), 조건(Conditon), 증감(Increment)으로 이루어져 있죠. for 문이 어떤 방식으로 진행되는지 살펴보자면

  1. 제일 먼저 변수를 생성합니다. 보통은 int i = 0;를 주로 사용하죠.
  2. 생성한 변수를 사용해서 조건식을 세웁니다. 이 조건식이 참이라면 아래의 실행할 코드를 실행하죠.
  3. 코드를 성공적으로 실행했다면 초기화에서 만든 변수를 증가시켜 줍니다.
  4. 변수의 값을 하나 올렸으니 다시 조건식으로 돌아와서 조건이 참인지 확인합니다. 즉 2, 3번을 조건식이 거짓이 되기 전까지 무한하게 반복하는 거죠. 

이렇습니다. 우리 코드를 한번 자세하게 살펴볼까요?

for (int i = 1; i < 10; i++) {
    printf("%d * %d = %d\n", a, i, a * i);
}

우선 초기화는 int i = 1;으로 했습니다. 보통은 0에서 시작하는 경우가 많지만 이번 문제는 구구단을 출력할 때 사용하기 위해 값을 1로 설정해 주었습니다. 다음은 조건식인데요, 문제에서 N*1부터 N*10까지 출력을 하라고 했죠. 그렇다면 for 문이 총 9번 반복되도록 조건을 걸어야 합니다. i 변수가 1부터 시작하기 때문에 조건을 i < 10으로 설정해 주면 되겠죠? i가 9일 때까지만 실행되고 그 이상으로는 조건을 만족시키지 못하기 때문에 for 문이 종료됩니다. 마지막으로 값을 증감 부분에 들어가는 기호는 다들 처음 보셨을 건데요, 여기서 보이는 ++는 +1과 같은 의미입니다. i++라고 적으면 i에 1을 더하라는 뜻이죠. 반대로 1 줄일 때는 --를 사용하면 됩니다. 꼭 1씩 올려야 할 필요는 없기 때문에 상황에 따라서 알맞게 증가, 혹은 감소하도록 설정하면 됩니다. 

printf 함수를 보면 i를 일반적인 0이 아니라 1로 설정한 이유를 알 수 있는데요, i를 활용해서 a * 1, a * 2 이런 식으로 출력을 하고 있습니다. 이렇게 초기 화식에서 만든 변수는 for 문 내에서 자유롭게 활용할 수 있습니다. 꼭 괄호 속에서만 사용해야 하는 게 아니라는 뜻이죠. 단 괄호 밖에서는 사용할 수 없다는 점을 알아두세요.

테스트를 해 봅시다. 빌드한 뒤 숫자를 입력해 보면 1부터 9까지 구구단을 출력합니다.

이제 백준에서 언어를 C로 설정한 다음 제출해 줍시다.

성공입니다!


 

백준으로 배우는 C 언어 15. A + B - 3

저번 문제에서 for 문을 어떻게 사용하는지에 대해서 배웠습니다! 그러면 이제 응용을 해 봐야겠죠. scanf와 printf만 사용하면 되는 간단한 문제이기 때문에 금방 할 수 있을 겁니다. 백준으로 배우는 C 언어 13..

torotoblog.tistory.com