[열혈c프로그래밍] 도전! 프로그래밍2
2019. 8. 13. 18:46
도전 1
#include <stdio.h>
void odd(int* ptr, int len)
{
int i, num;
printf("홀수: ");
for (i = 0; i < len; i++)
{
num = *(ptr + i);
if (num% 2 != 0)
printf("%d ", num);
}
}
void even(int* ptr, int len)
{
int i, num;
printf("쩍수: ");
for (i = 0; i < len; i++)
{
num = *(ptr + i);
if (num % 2 == 0)
printf("%d ", num);
}
}
int main(void)
{
int arr[10];
int i;
int len = sizeof(arr) / sizeof(int);
int* ptr = arr;
for (i = 0; i < 10; i++)
{
printf("정수 입력:");
scanf("%d", arr + i);
}
odd(ptr, len);
printf("\n");
even(ptr, len);
return 0;
}
도전2
#include <stdio.h>
int main(void)
{
int result, cnt = 0;
int remain[50];
printf("10진수 정수 입력: ");
scanf("%d", &result);
while (result != 0)
{
remain[cnt] = result % 2;
result /= 2;
cnt++;
}
while (cnt > 0)
printf("%d", remain[--cnt]);
return 0;
}
도전 3
#include <stdio.h>
int main(void)
{
int arr[10];
int i, num, f = 0, b = 9;
for (i = 0; i < 10; i++) // while (f != b + 1)
{
printf("입력: ");
scanf("%d", &num);
if (num % 2 != 0)
arr[f++] = num;
else
arr[b--] = num;
}
printf("배열요소의 출력: ");
for (i = 0; i < 10; i++)
printf("%d ", arr[i]);
return
}
도전 4
#include <stdio.h>
int lenstr(char * ptr) // 포인터형 주의
{
int cnt=0;
while (ptr[cnt] != '\0')
cnt++;
return cnt;
}
int main(void)
{
char str[50];
int i, len;
printf("문자열 입력: ");
scanf("%s", str);
len = lenstr(str);
for (i = 0; i < len/2; i++)
{
if (str[i] != str[len-1-i]) // -1 주의
{
printf("회문이 아닙니다");
return 0;
}
}
printf("회문 입니다");
return 0;
}
도전 5
#include <stdio.h>
void DesSort(int ary[], int len);
int main(void)
{
int arr[7];
int len = sizeof(arr) / sizeof(int);
int i;
for (i = 0; i < len; i++)
{
printf("입력: ");
scanf("%d", arr + i);
}
DesSort(arr, len);
for (i = 0; i < len; i++)
printf("%d ", arr[i]);
return 0;
}
void DesSort(int ary[], int len)
{
int i, j, temp;
for (i = 0; i < len-1; i++ )
for (j = len-1; j > i; j--)
if (ary[j] > ary[j - 1])
{
temp = ary[j - 1];
ary[j - 1] = ary[j];
ary[j] = temp;
}
}
도전 5
#include <stdio.h>
void BubbleSort(int ary[], int len);
int main(void)
{
int arr[7];
int len = sizeof(arr) / sizeof(int);
int i;
for (i = 0; i < len; i++)
{
printf("입력: ");
scanf("%d", arr + i);
}
BubbleSort(arr, len);
for (i = 0; i < len; i++)
printf("%d ", arr[i]);
return 0;
}
void BubbleSort(int ary[], int len)
{
int i, j, temp;
for (i = 0; i < len-1; i++ )
for (j = len-1; j > i; j--)
if (ary[j] > ary[j - 1])
{
temp = ary[j - 1];
ary[j - 1] = ary[j];
ary[j] = temp;
}
}
'프로그래밍 언어 > C언어' 카테고리의 다른 글
[열혈c프로그래밍] 문제 17-1 내 답안 (0) | 2019.08.19 |
---|---|
[열혈c프로그래밍] 문제 16-1 내 답안 (0) | 2019.08.18 |
[열혈c프로그래밍] 문제 14-2 내 답안 (0) | 2019.08.13 |
[열혈c프로그래밍] 문제 14-1 내 답안 (0) | 2019.08.13 |
[열혈c프로그래밍] 문제 13-1 내 답안 (0) | 2019.08.11 |