도전 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;
}