1-1. 1부터 N까지 짝수만 출력하기

문제설명

정수 N을 입력받아 1부터 N까지의 수 중에서 짝수만 출력하는 프로그램을 작성하시오.

 

목표

  • for 반복문 사용
  • if 제어문 사용
  • 함수 분리 연습

요구사항

  1. print_even_numbers(int n) 함수를 정의하시오.
  2. main()에서 N을 입력받아 함수를 호출하시오.
  3. 짝수만 한 줄에 하나씩 출력하시오.

출력예시

N 입력: 10
2
4
6
8
10
 

코드예시

더보기
더보기
더보기
더보기
#include <stdio.h>

void print_even_numbers(int n);

int main(void)
{
    int n;
    printf("N 입력: ");
    scanf("%d", &n);

    print_even_numbers(n);

    return 0;
}

void print_even_numbers(int n)
{
    int i;
    for (i = 1; i <= n; i++)
    {
        if (i % 2 == 0)
        {
            printf("%d\n", i);
        }
    }
}

 

1-2. 구구단 중 한 단 출력하기

 

문제설명

출력할 단을 입력받아 해당 구구단을 출력하는 프로그램을 작성하시오.

 

목표

  • 반복문과 조건문을 함께 사용
  • 함수 호출 구조 익히기

요구사항

  1. print_dan(int dan) 함수를 정의하시오.
  2. 2 ~ 9 사이의 값만 정상 출력하시오.
  3. 범위를 벗어나면 "잘못된 입력입니다."를 출력하시오.
출력예시
단 입력: 4
4 x 1 = 4
4 x 2 = 8
4 x 3 = 12
4 x 4 = 16
4 x 5 = 20
4 x 6 = 24
4 x 7 = 28
4 x 8 = 32
4 x 9 = 36
 
 
코드예시
더보기
더보기
더보기
더보기
#include <stdio.h>

void print_dan(int dan);

int main(void)
{
    int dan;
    printf("단 입력: ");
    scanf("%d", &dan);

    print_dan(dan);

    return 0;
}

void print_dan(int dan)
{
    int i;

    if (dan < 2 || dan > 9)
    {
        printf("잘못된 입력입니다.\n");
        return;
    }

    for (i = 1; i <= 9; i++)
    {
        printf("%d x %d = %d\n", dan, i, dan * i);
    }
}

 

1-3. 점수 여러 개 입력받아 합격 개수 세기

 

문제설명

학생 수 N을 입력받고, 각 학생의 점수를 입력받아 60점 이상인 학생 수를 출력하는 프로그램을 작성하시오.

 

목표

  • 반복 입력 처리
  • 조건 판단
  • 계산 기능 함수 분리

요구사항

  1. count_pass_students(int n) 함수를 정의하시오.
  2. n명의 점수를 입력받아 60점 이상 개수를 세시오.
  3. 최종 합격자 수를 출력하시오.
출력예시
학생 수 입력: 5
1번 학생 점수: 80
2번 학생 점수: 55
3번 학생 점수: 90
4번 학생 점수: 61
5번 학생 점수: 40
합격자 수: 3
 

 

코드예시

더보기
더보기
더보기
더보기
#include <stdio.h>

int count_pass_students(int n);

int main(void)
{
    int n;
    int result;

    printf("학생 수 입력: ");
    scanf("%d", &n);

    result = count_pass_students(n);
    printf("합격자 수: %d\n", result);

    return 0;
}

int count_pass_students(int n)
{
    int i, score, count = 0;

    for (i = 1; i <= n; i++)
    {
        printf("%d번 학생 점수: ", i);
        scanf("%d", &score);

        if (score >= 60)
        {
            count++;
        }
    }

    return count;
}

 

1-4. 메뉴 번호를 입력받아 반복 주문하기

 

문제설명

사용자가 메뉴 번호를 계속 입력하면 메뉴명을 출력하고, 0을 입력하면 종료하는 프로그램을 작성하시오.

 

목표

  • while 반복문
  • if-else 또는 switch
  • 함수 호출

요구사항

  1. print_menu_name(int menu) 함수를 정의하시오.
  2. 메뉴는 다음과 같다.
    • 1: 아메리카노
    • 2: 라떼
    • 3: 모카
  3. 0 입력 시 종료하시오.
  4. 잘못된 번호는 "없는 메뉴입니다."를 출력하시오.

출력예시

메뉴 번호 입력(0 종료): 1
아메리카노
메뉴 번호 입력(0 종료): 3
모카
메뉴 번호 입력(0 종료): 7
없는 메뉴입니다.
메뉴 번호 입력(0 종료): 0
주문을 종료합니다.

 

 

코드예시

더보기
더보기
더보기
더보기
#include <stdio.h>

void print_menu_name(int menu);

int main(void)
{
    int menu;

    while (1)
    {
        printf("메뉴 번호 입력(0 종료): ");
        scanf("%d", &menu);

        if (menu == 0)
        {
            break;
        }

        print_menu_name(menu);
    }

    printf("주문을 종료합니다.\n");
    return 0;
}

void print_menu_name(int menu)
{
    if (menu == 1)
    {
        printf("아메리카노\n");
    }
    else if (menu == 2)
    {
        printf("라떼\n");
    }
    else if (menu == 3)
    {
        printf("모카\n");
    }
    else
    {
        printf("없는 메뉴입니다.\n");
    }
}

 

1-5. 약수의 개수 구하기

 

문제설명

정수 하나를 입력받아 그 수의 약수의 개수를 구하는 프로그램을 작성하시오.

 

목표

  • 반복문으로 전체 검사
  • 조건문으로 약수 판별
  • 함수 반환값 사용

요구사항

  1. count_divisors(int n) 함수를 정의하시오.
  2. 1부터 n까지 반복하면서 약수 개수를 세시오.
  3. 결과를 출력하시오.

출력예시

정수 입력: 12
약수의 개수: 6
 
 
코드예시
더보기
더보기
더보기
더보기
#include <stdio.h>

int count_divisors(int n);

int main(void)
{
    int n;
    printf("정수 입력: ");
    scanf("%d", &n);

    printf("약수의 개수: %d\n", count_divisors(n));

    return 0;
}

int count_divisors(int n)
{
    int i, count = 0;

    for (i = 1; i <= n; i++)
    {
        if (n % i == 0)
        {
            count++;
        }
    }

    return count;
}

+ Recent posts