본문 바로가기

C C++ language

C언어 홀 수 짝수 판별 방법

읽어주셔서 감사합니다.

오늘은 C언어로 하나의 정수를 입력받은 후, 입력받은 수가 홀수인지 짝수인지 판별하는 프로그램을 구현해보도록 하겠습니다.


이번 코드에는 복잡한 내용이 딱히 없으므로, 주석은 간단하게만 적었습니다.

일반적인 moduler연산을 이용해서 만든 코드입니다.
abs를 사용하면 음수일떄의 odd, even까지 정확히 판별할 수 있지만, 굳이 그렇게 하지는 않았습니다.
(보통 홀수 짝수 판별은 음이 아닌 정수 범위에서 하니까)
소스가 필요하신 분들은 Ctrl + C Ctrl + V로 퍼가시면 됩니다

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
	int num;
	scanf("%d", &num);
	//num이 짝수일떄
	if ((num % 2) == 0) {
		printf("even");
	}
	//num이 홀수일때
	else {
		printf("odd");
	}
	return 0;
}


아래는 비트연산을 이용해서 만든 코드입니다.
XOR연산을 사용하면 음수일때의 odd, even까지 정확히 판별할 수 있지만, 굳이 그렇게 하지는 않았습니다.
(보통 홀수 짝수 판별은 음이 아닌 정수 범위에서 하니까)
소스가 필요하신 분들은 Ctrl + C Ctrl + V로 퍼가시면 됩니다

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
	int num;
	scanf("%d", &num);
	//num이 홀수일떄
	if (num & (int)1) {
		printf("odd");
	}
	//num이 짝수일때
	else {
		printf("even");
	}
	return 0;
}

사용방법

입력 : 하나의 정수 입력

출력 : 홀수라면 odd 짝수라면 even출력

종료 : 출력후 종료


실행화면