본문 바로가기
프로그래밍언어/C 언어

[열혈 C 프로그래밍] 도전! 프로그래밍2 - 도전1

by khsnote22 2022. 12. 29.
도전 1

길이가 10인 배열을 선언하고 총 10개의 정수를 입력 받아서, 홀수와 짝수를 구분 지어 출력하는 프로그램을 작성해 보자. 일단 홀수부터 출력하고 나서 짝수를 출력하도록 하자. 단, 10개의 정수는 main 함수 내에서 입력 받도록 하고, 배열 내에 존재하는 홀수만 출력하는 함수와 배열 내에 존재하는 짝수만 출력하는 함수를 각각 정의해서 이 두 함수를 호출하는 방식으로 프로그램을 완성하자.

#include <stdio.h>

void show_odd_num(int * arr, int size);
void show_even_num(int * arr, int size);

int main(void)
{
    int arr[10];
    int i;
    printf("총 10개의 숫자 입력\n");
    for(i=0; i<10; i++)
    {
        printf("입력 : ");
        scanf("%d", &arr[i]);
    }
    
    printf("홀수 출력 : ");
    show_odd_num(arr, sizeof(arr)/sizeof(int));
    printf("짝수 출력 : ");
    show_even_num(arr, sizeof(arr)/sizeof(int));
    return 0;
}


void show_odd_num(int * arr, int len)
{
    int i;
    int odd_arr[10];
    for(i=0; i<len; i++)
        if(arr[i]%2 == 1)
            printf("%d ", arr[i]);
}

void show_even_num(int * arr, int len)
{
    int i;
    int odd_arr[10];
    for(i=0; i<len; i++)
        if(arr[i]%2 == 0)
            printf("%d ", arr[i]);
}