본문 바로가기

스터디/코딩

[ 코딩 도장 : C ] Unit 33. FizzBuzz : 연습문제 / 심사문제

33.7 연습문제 : 2와 7의 배수, 공배수 처리하기

문제 ) 다음 소스 코드를 완성하여 1부터 100까지의 숫자를 출력하면서 2의 배수일 때는 "Fizz", 7의 배수일 때는 "Buzz", 2와 7의 공배수일 때는 "FizzBuzz"가 출력되게 만드세요.

#include <stdio.h>

int main()
{
    for (int i = 1; i <= 100; i++)
    {
        if (i % 2 == 0 && i % 7 == 0)
            printf("FizzBuzz\n");
        else if (i % 2 == 0)
            printf("Fizz\n");
        else if (i % 7 == 0)
            printf("Buzz\n");
        else
            printf("%d\n", i);
    }
    return 0;
}

 

 

33.8 심사문제 : 5와 11의 배수, 공배수 처리하기

문제 ) 표준 입력으로 정수 두 개가 입력됩니다(첫 번째 입력 값의 범위는 1~1000, 두 번째 입력 값의 범위는 10~1000이며 첫 번째 입력 값은 두 번째 입력 값보다 항상 작습니다). 첫 번째 정수부터 두 번째 정수까지 숫자를 출력하면서 5의 배수일 때는 "Fizz", 11의 배수일 때는 "Buzz", 5와 11의 공배수일 때는 "FizzBuzz"를 출력하는 프로그램을 만드세요(scanf 함수 호출 전에 문자열을 출력하면 안 됩니다).

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
    int num1, num2;
    scanf("%d %d", &num1, &num2);

    for (int i = num1; i <= num2; i++)
    {
        if (i % 5 == 0 && i % 11 == 0)
        {
            printf("FizzBuzz\n");
        }
        else if (i % 5 == 0)
        {
            printf("Fizz\n");
        }
        else if (i % 11 == 0)
        {
            printf("Buzz\n");
        }
        else
        {
            printf("%d\n", i);
        }
    }
    return 0;
}