728x90
응아아아아ㅏ 벌써 새벽 1시다. 오늘은 새벽 3시 전에 들어갈라 햇는데 가능할까ㅜㅜ
#도전1
#include <stdio.h>
void even(int* arr) {
printf("짝수 출력 : ");
for (int i = 0; i < 10; i++) {
if (arr[i] % 2 == 0)
printf("%d ", arr[i]);
}
}
void odd(int* arr) {
printf("홀수 출력 : ");
for (int i = 0; i < 10; i++) {
if (arr[i] % 2 != 0)
printf("%d ", arr[i]);
}
}
int main(void) {
int arr[10];
int n = 0;
printf("총 10개의 숫자 입력\n");
for (int i = 0; i < 10; i++) {
printf("입력(%d) : ", i + 1);
scanf_s("%d", &n);
arr[i] = n;
}
even(arr);
printf("\n");
odd(arr);
return 0;
}
#도전2
#include <stdio.h>
int main(void) {
int n = 0, n2=0, n3=0;
int arr[100];
printf("10진수 정수 입력 : ");
scanf_s("%d", &n);
int i = 0;
while (1) {
n2 = n / 2;
n3 = n % 2; arr[i] = n3; i++;
n = n2;
if (n == 0 || n == 1) {
arr[i] = n;
break;
}
}
for (int j = i; j >= 0; j--) {
printf("%d", arr[j]);
}
return 0;
}
#도전3
#include <stdio.h>
int main(void) {
int n = 0;
int start = 0, end = 9;
int arr[10];
printf("10개의 숫자 입력 \n");
for (int i = 0; i < 10; i++) {
printf("입력(%d) : ", i+1);
scanf_s("%d", &n);
if (n % 2 == 0) {
arr[end] = n; end--;
}else {
arr[start] = n; start++;
}
}
printf("배열 요소의 출력");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
#도전4
#include <stdio.h>
int isPali(char* string, int len) {
int start = 0, end = len-1;
for (int i = 0; i < (len / 2); i++) {
if (string[start] != string[end]) return 0;
else { start++; end--; }
}
return 1;
}
int main(void) {
char string[100];
int len = 0;
printf("문자열 입력: ");
scanf_s("%s", string, 100);
for (int i = 0; i < 100; i++) {
if (string[i] == '\0') break;
else len++;
}
if (isPali(string, len)) printf("회문입니다.\n");
else printf("회문이 아닙니다.\n");
return 0;
}
문자열에서 scnaf쓸 때 버퍼 크기 설정 안 해주면 예외 나는 거 몰라서 한참 헤맴..ㅋㅋㅋ
그리고 python 버릇 때문에 c에도 len() 있길래 쓸려고 햇는데 왠지 모르게 자꾸 오류 나더라ㅡㅡ
#도전5
#include <stdio.h>
//내림차순
int* DesSort(int arr[]) { //int *arr도 가능
int temp=0;
for (int i = 0; i < 7-1; i++) {
for (int j = 0; j <(7-1)-i; j++) {
if (arr[j] < arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
int main(void) {
int arr[7];
int *a;
int n = 0;
printf("7개의 정수 입력\n");
for (int i = 0; i < 7; i++) {
printf("입력(%d) ", i+1);
scanf_s("%d", &n);
arr[i] = n;
}
a=DesSort(arr);
for (int i = 0; i < 7; i++) {
printf("%d ", a[i]);
}
return 0;
}
훠후.. 정렬 알고리즘을 만날 줄이야.. 제일 쉽다는 버블 알고리즘.. 이제 끗~
'C' 카테고리의 다른 글
여러 분은 이 답이 뭐라고 생각하십니까? 알면 상위 1% 코딩 실력을 가진 사람 (3) | 2022.07.22 |
---|---|
[C언어 문법] part04 C언어의 깊은 이해 (0) | 2021.12.11 |
[C언어 문법] 20장 도전 프로그래밍 3 (0) | 2021.12.11 |
[C언어 문법] part03 포인터와 배열의 완성 (0) | 2021.12.09 |
[열혈 C 프로그래밍] 도전! 프로그래밍1 (0) | 2021.10.21 |