POST

C언어 배열(Array)에 숫자 10개 입력하여 홀수, 짝수 따로 출력하기

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

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





#include<stdio.h>

#pragma warning(disable:4996) // scanf 보안 경고 제거용

#define SIZE 10


void odd_num(int n[]); // 홀수출력 함수선언

void even_num(int n[]); // 짝수출력 함수 선언


int main(void) {

int number[SIZE];

int i;

printf("총 10개의 숫자 입력\n");

/* 반복문을 이용하여 정수 10개 입력 */

for (i = 0; i < SIZE; i++){

printf("입력: ");

scanf("%d", &number[i]);

}

odd_num(number); // 홀수출력 함수호출

even_num(number); // 짝수출력 함수호출

return 0;

}

void odd_num(int n[]) { // 홀수 함수

int i;

printf("홀수 출력: ");

for (i = 0; i <SIZE; i++){

if (n[i] % 2 == 1) // 2로 나눈 나머지가 1일때 홀수이다.

printf("%d, ", n[i]);

}

printf("\n");

}

void even_num(int n[]) { // 짝수 함수

printf("짝수 출력: ");

for (int i = 0; i < SIZE; i++) {

if (n[i] % 2 == 0) // 2로 나눈 나머지가 0일 떄 짝수이다.

printf("%d, ", n[i]);

}

printf("\n");

}


여기서 #define 매크로를 SIZE라는 이름으로 사용하여 배열의 크기를 지정해 주었으며, 반복문에서 SIZE를 사용 하였다.

반복문에 반복횟수를 지정할때 10이라고 할 수도 있지만, 만약 배열의 크기를 수정한다면 반복문을 하나씩 다 바꾸어 주어야한다.

이러한 귀찮고 번거러운 작업을 피하기위해 SIZE라는 매크로를 사용하여 작업하는 것이다.

그리고 #define 매크로를 정의 할때는 영어 대문자로 하는것을 규칙으로하여 사용하고있다. 

또한 위에서 사용된 것을 우리는 매크로 상수라 부른다.


배열이란? - 바로가기