[C언어-기초실습-3] 입력 수가 홀수/짝수 인지 구별하라.

Words
278
Reading
2 min
7y
Listen to this post
~2 min

[C언어-기초실습-3] 입력 수가 홀수/짝수 인지 구별하라.



이번에는 입력 된 수가 홀수인지 짝수인지를 출력하는 프로그램을 실습하겠습니다. 제목만 보고 우선 직접 상상력을 동원하여 코딩해보세요. 안되시는 분들은 바로 읽으시고 할 수 있는 분들은 직접 만들어 본뒤 post를 읽고 유사한지 차이가 있는지 비교해 보세요. 그래야 실력이 늘어요.

1. 문제의 이해


먼저 숫자를 하나 입력을 받기 때문에 scanf()함수를 사용합니다.

int inputVal;
scanf("%d",&inputVal);

어제와 동일하지요. 뭔가 입력을 한다면 scanf()함수 자연스럽게 이제 코딩이 되어야 합니다.

다음으로, 입력 된 수가 even(짝수), odd(홀수)인지 어떻게 구분할까요. 홀짝은 바로 2로 나누었을 때 나머지가 0이면 짝수이고 1이면 홀수 입니다. 바로 퍼센트(%) 나머지 구하는 연산으로 2로 나눈 나머지를 구하변 됩니다.

inputVal%2 =>나머지 값 (0 or 1 나옴)

그 다음으로 나머지 값에 따라 0이면 짝수라고 출력하고 1이면 호수라고 출력하면 됩니다. 이건 둘 중 하나를 선택하는 조건문을 사용하면 되겠죠. 두개 중 하나 선택이라 그러면 머리속에서 IF문 쓰면 되겠지 하고 떠올려야 합니다.

종합해보면,

printf("하나의 수를 입력하시오? ");
scanf("%d",&inputVal);
        
if(inputVal%2==0) printf("%d는 짝수입니다.\n",inputVal);
else printf("%d는 홀수입니다.\n",inputVal);

이렇게 완성됩니다.

[다른 표현]

다른식 접근을 해보겠습니다. 이번에는 나눈 나머지 값을 새로운 state변수에 저장하겠습니다. 0 or 1의 값을 저장되는데 이 값은 배열의 위치값으로 활용합니다.

char str[2][10] = {"짝수","홀수"};

str[0]은 "짝수" 문자열이고, str[1]은 "홀수"문자열 입니다. 즉, 0 or 1은 위치값으로 설정하면 출력 될 "짝수"와 "홀수"를 배열 변수로 만들 수 있습니다. 그럼 이걸 이용해서 코딩을 바꿔 볼까요.

int inputVal;
int state;
char str[2][10] = {"짝수","홀수"};

state=inputVal%2;       
printf("%d는 %s입니다.\n",inputVal,str[state]);

보시면 나눈 나머지 값이 str[i]로 "짝수","홀수"를 출력 할 수 있게 되었습니다.

2. 코딩


이제 이 두가지 형태를 같이 코딩을 해봅시다. 실행 결과가 정상적으로 확인 해보셔야 이해가 빠르겠죠.

[전체소스]

#include 
#include 


int main(int argc, char *argv[]) {
    
    int inputVal;
    char str[2][10]={"짝수","홀수"};
    int state; 
    
    printf("하나의 수를 입력하시오? ");
    scanf("%d",&inputVal);
        
    if(inputVal%2==0) printf("%d는 짝수입니다.\n",inputVal);
    else printf("%d는 홀수입니다.\n",inputVal);

    state=inputVal%2;       
    printf("%d는 %s입니다.\n",inputVal,str[state]);
        
    system("pause");
    return 0;
}

[결과]
a2.jpg

보시면 90을 입력하면 두개의 짝수입니다라는 문자열이 출력 됩니다. 두가지 방식이 정상적으로 처리 된 것을 눈으로 확인 하실 수 있을 거에요.

마무리


오늘은 나머지 연산자하고 if문으로 사용하여 홀수 or 짝수 인지를 확인 해봤습니다. 그리고 나머지 값을 변수에 넣고 출력 문자열을 배열변수에 세팅 한 값을 토대로 입력 값이 홀수 or 짝수인지도 확인 해봤습니다.


Sponsored ( Powered by dclick )

dclick-imagead

[C언어-기초실습-3] 입력 수가 홀수/짝수 인지 구별하라. | Ecency