윤성우 열혈 C 프로그래밍 도서내에 있는 도전 프로그래밍 답
필자가 독학하면서 직접 쓴 코드이며
컴파일 후 여러 값 대입 후 오류 없으면
업데이트
이전 글 프로그래밍 1편
2023.04.20 - [소프트웨어 | Software/프로그래밍 | C언어 | C] - 윤성우 열혈 C 프로그래밍 도전! 프로그래밍 1 답
● 도전 1 - 10개의 수를 입력 받아 홀수 짝수 판별
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void HS(int* ptr,int len) //홀수
{
for (int k = 0; k < len; k++)
{
if (*(ptr + k) % 2 != 0)
printf("%d ", *(ptr + k));
}
}
void WS(int* ptr,int len) //짝수
{
for (int k = 0; k < len; k++)
{
if (*(ptr + k) % 2 == 0)
printf("%d ", *(ptr + k));
}
}
int main(void)
{
int arr[10];
for (int i = 0; i < 10; i++)
{
printf("입력 : ");
scanf("%d", &arr[i]);
}
printf("홀수 출력 : ");
HS(arr,sizeof(arr)/sizeof(int));
printf("\n");
printf("짝수 출력 : ");
WS(arr,sizeof(arr) / sizeof(int));
return 0;
}
● 도전 2 - 10진수를 2진수로 바꾸기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int input,cnt=0;
char Binary[50];
printf("10진수 양의 정수 입력하세요. (2진수로 바꿔줌) : ");
scanf("%d", &input);
if (input == 0)
printf("%d", input);
while (input>0)
{
Binary[cnt++] = input % 2;
input /= 2;
}
while (cnt > 0)
{
printf("%d", Binary[--cnt]);
}
return 0;
}
● 도전 3 - 홀,짝 구분으로 배열 채우기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int arr[10];
int input, j = 9,p=0;
printf("총 10개의 숫자 입력 \n");
for (int i = 0; i < 10; i++)
{
input = 0;
printf("입력 :");
scanf("%d", &input);
if (input % 2 == 1) //홀수 이면 배열의 앞에서 채움
arr[p++] = input;
else // 짝수이면 배열 뒤에서 채움
arr[j--] = input;
}
printf("배열의 요소 출력 :");
for (int k = 0; k < 10; k++)
printf("%d", arr[k]);
return 0;
}
● 도전 4 - 회문 판별
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
void Palindrome_FACT(char input[])
{
int len = strlen(input);
for (int i = 0; i < len/2; i++)
{
if (input[i] != input[len - i-1])
{
printf("회문이 아니다. \n");
return 0;
}
}
printf("회문이다. \n");
}
int main(void)
{
char input [50];
printf("문자열 입력 :");
scanf("%s", input);
Palindrome_FACT(input);
return 0;
}
● 도전 5 - 버블 정렬 알고리즘 #내림차
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void Desort(int arr[],int len)
{
int temp;
for (int i = 0; i < len - 1; i++)
{
for (int j = 0; j < len - i - 1; j++)
{
if (arr[j] < arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main(void)
{
int arr[7];
for (int i = 0; i < 7; i++)
{
printf("입력 : ");
scanf("%d", &arr[i]);
}
Desort(arr,sizeof(arr)/sizeof(int));
for (int i = 0; i < 7; i++)
printf("%d", *(arr + i));
return 0;
}
반응형
'소프트웨어 | Software > 프로그래밍 | C언어 | C' 카테고리의 다른 글
윤성우 열혈 C 프로그래밍 도전! 프로그래밍 3 답 (0) | 2023.05.22 |
---|---|
내가 보려고 만드는 C언어 정보 모음(심화) #배열 #포인터 (0) | 2023.05.10 |
내가 보려고 만드는 C언어 정보 모음 #배열 #포인터 (0) | 2023.04.25 |
윤성우 열혈 C 프로그래밍 도전! 프로그래밍 1 답 (0) | 2023.04.20 |
내가 보려고 만드는 C언어 정보 모음 #기본 (0) | 2023.04.11 |