easy software

C언어 포인터와 배열이용 홀수/짝수 출력예제 본문

C언어/포인터와 배열

C언어 포인터와 배열이용 홀수/짝수 출력예제

JAVA 웹개발자 2015. 1. 23. 13:31

안녕하세요. 이번 시간에는 지금까지 학습했던 포인터와 배열을 이용하여

 

짝수와 홀수를 구분하여 출력해주는 예제를 해보도록 하겠습니다.

 

문제의 조건은 아래와 같습니다.

 

1. 길이가 10인 배열을 선언하고, main에서 정수를 입력받는다.

 

2. 배열에 값을 저장하고 홀수/짝수를 구분해주는 함수를 작성한다.

 

3. 함수에 배열을 인자로 전달하여 홀수와 짝수를 구분하여 출력한다.

 

문제의 조건은 상당히 간단합니다.

 

그리고 배열과 포인터의 개념이 같다는 정도만 잘 이해하고 있어도 무난하게 풀 수 있는 문제입니다.

 

코드는 아래를 보시죠.

 

 

#include <stdio.h>

 

//배열을 인자로 받아 홀수를 출력해주는 프로그램
void oNum(int* ptr){

 

 printf("홀수 출력: ");

 

     //홀수를 찾기 위해 반복문 수행
     for (int i = 0; i < 10; i++)
          if (ptr[i] % 2 != 0) //배열값을 나눴을때 나머지가 0이 아니면 홀수
               printf("%d ", ptr[i]);
    }

 

void eNum(int* ptr){

 

 printf("짝수 출력: ");

 

//짝수를 찾기 위해 반복문 수행
 for (int i = 0; i < 10; i++)
      if (ptr[i] % 2 == 0) //배열값을 나눴을때 나머지가 0이면 짝수
           printf("%d ", ptr[i]);
}

 

int main(void){

 

 int arr[10];
 int input;

 

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

 

 //10개의 숫자를 입력받기 위해 반복문을 수행
 for (int i = 0; i < 10; i++){
  printf("?: ");
  scanf_s("%d", &input);
  arr[i] = input;
 }

 

     oNum(arr); //배열을 oNum에 인자로 전달
     printf("\n");
     eNum(arr); //배열을 eNum에 인자로 전달
     printf("\n");

 

 return 0;


}

 

배열을 인자로 전달하면, 포인터 변수로 그 값을 가리키게 됩니다.

 

그리고 포인터로 배열인자에 접근하여 값을 확인하고 출력까지 하면 됩니다.

Comments