카테고리 없음

[C language] 짝수 / 홀수 판별

어디선가 굴러온 돌 2022. 9. 1. 02:24

이번 글에서는 입력받은 숫자들에 짝수와 홀수를 판단하는 함수를 작성해 볼 거다.

 

 

우선 array의 입력을 받기 위해 array를 선언해주고, 이 array에 숫자를 입력받아 준다.

int arr[10];
    int i = 0;
    for (i; i < 10; i++) {
        printf("scan:");
        scanf("%d", &arr[i]);
    }

이 코드는 별도의  함수가 아닌  main 함수에 작성해 준다.

필자는 짝수와 홀수를 판별하는 함수를 따로 만들어주겠다.

 

우선 짝수를 판별하는 함수는 

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

다음과 같이 작성해 준다.

인자로 포인터 변수를 받는 이유는 포인터 변수로 전달받은 array의 주소를 참조하여 값을 변경하기 위함이다.

두 번째 인자인 len은 arrray길이를 알기 위한 인자이다.

array에 길이를 알아야 반복문의 반복 횟수를 정할 수 있기 때문이다.

 

홀수 판별 함수도 만들어준다.

void Add_number(int* param, int len) {
    int i = 0;
    for (i; i < len; i++) {
        if (param[i] % 2 != 0) {
            printf("%d ", param[i]);
        }
    }
}

 

이 두 함수의 사용법은 다음과 같다.

Even_number(arr, sizeof(arr) / sizeof(int));

Add_number(arr, sizeof(arr) / sizeof(int));

len자리의 들어가 있는 sizeof(arr) / sizeof(int)는 array의 길이를 구하기 위함이다.