도전 1

#include <stdio.h>

void printodd(int* n) {
	int count = 0;
	for (int i = 0; i < 10; i++) {
		if (n[i] % 2 == 1 && count == 0) {
			printf("%d", n[i]);
			count++;
			continue;
		}
		if (n[i] % 2 == 1 && count != 0) printf(" ,%d", n[i]);
	}
}

void printeve(int* n) {
	int count = 0;
	for (int i = 0; i < 10; i++) {
		if (n[i] % 2 == 0 && count == 0) {
			printf("%d", n[i]);
			count++;
			continue;
		}
		if (n[i] % 2 == 0 && count != 0) printf(" ,%d", n[i]);
	}
}

int main() {
	int n[10] = { 0 };
	printf("총 10개의 숫자 입력\\n");
	for (int i = 0; i < 10; i++) {
		printf("입력: ");
		scanf("%d", &n[i]);
	}
	printf("홀수 출력: ");
	printodd(n);
	printf("\\n짝수 출력: ");
	printeve(n);
	return 0;
}

도전 2

#include <stdio.h>

int main() {
	printf("10진수 정수 입력: ");
	int n, a[32] = { 0 }, i;
	scanf("%d", &n);

	for (i = 0; i<32; i++) {
		if (n == 0) break;
		a[i] = n % 2;
		n = n / 2;
	}
	while(i) {
		printf("%d", a[--i]);
	}
	return 0;
}

도전 3

#include <stdio.h>

int main() {
	printf("총 10개의 숫자 입력\\n");
	int a[10] = { 0 };
	int counto = 0, counte = 0;
	for (int i = 0; i < 10; i++) {
		int n;
		printf("입력: ");
		scanf("%d", &n);
		if (n % 2 == 0) a[10 - ++counte] = n;
		if (n % 2 == 1) a[counto++] = n;

	}
	printf("배열 요소의 출력:");
	for (int i = 0; i < 10; i++) {
		printf(" %d", a[i]);
	}
	return 0;
}

도전 4

#include <stdio.h>
#include <string.h>

int main() {
	char a[100];
	gets(a);
	int size = strlen(a), nopalin = 0;
	for (int i = 0; i < size/2; i++) {
		if (a[i] == a[size - i-1]) continue;
		else nopalin++;
	}
	printf("회문%s", nopalin == 0 ? " 입니다." : "이 아닙니다.");
	return 0;
}