반응형

C_C++ 359

(C언어) 피보나치 수열 (재귀함수)

#피보나치 #fibonacci #재귀 #재귀함수 피보나치 수열(Fibonacci sequence) 피보나치 수열(Fibonacci sequence)은 앞의 두 항의 합이 다음 항이되는 수열이다. 1: 1 2: 1 3: 2 4: 3 5: 5 6: 8 7: 13 8: 21 9: 34 10: 55 11: 89 12: 144 13: 233 14: 377 15: 610 16: 987 17: 1597 18: 2584 19: 4181 20: 6765 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 #include int fibonacci(int n) { if (n == 1 || n == 2) return 1; else return fibonacc..

C_C++ 2022.12.04

(C언어) 10진수를 16진수로 변환하기

#십진수 #십육진수 #변환 #바꾸기 10진수, 2진수, 8진수, 16진수 관계 2진수 3자리 →→ 8진수 1자리 2진수 4자리 →→ 16진수 1자리 10진수 8진수 16진수 2진수 0 0 0 0000 0000 1 1 1 0000 0001 2 2 2 0000 0010 3 3 3 0000 0011 4 4 4 0000 0100 5 5 5 0000 0101 6 6 6 0000 0110 7 7 7 0000 0111 8 10 8 0000 1000 9 11 9 0000 1001 10 12 A 0000 1010 11 13 B 0000 1011 12 14 C 0000 1100 13 15 D 0000 1101 14 16 E 0000 1110 15 17 F 0000 1111 16 20 10 0001 0000 17 21 11..

C_C++ 2022.12.02

(C언어) 파일복사 명령어를 만들어 봅니다: fgetc fputc

#파일 #복사 #카피 #copy #fgetc #fputc #fopen #mycopy #my_copy fgetc int fgetc(FILE *stream) 스트림으로부터 한 문자를 읽어 int 형식으로 반환합니다. 스트림의 끝에 도달하면 EOF를 반환합니다. fputc int fputc(int c, FILE *stream) 스트림에 한 개의 문자를 출력합니다. 성공하면 문자 c를 반환하고, 오류가 발생하면 EOF를 반환합니다. 명령프롬프트에서 실행되는 파일을 복사하는 명령어를 만들어 봅니다. #define _CRT_SECURE_NO_WARNINGS // Visual Studio #include int main(int argc, char* argv[]) { FILE* fp1, * fp2; char ch; i..

C_C++ 2022.12.01

(C언어) 연결리스트: 노드를 앞쪽에 삽입하는 예

#연결리스트 #단일연결리스트 #linked #list #삽입 #추가 #append #insert #앞에 #뒤에 연결리스트: 노드를 맨 앞에 삽입하는 예 C언어 코드 #define _CRT_SECURE_NO_WARNINGS #include #include struct node { char name[20]; // 이름 int age; // 나이 struct node* next; // 다음 노드를 가리키는 포인터 }; int main(void) { struct node* head, *p; head = NULL; while (1) { p = (struct node*)malloc(sizeof(struct node)); printf("이름: "); scanf("%s", p->name); if (p->name[0] ..

C_C++ 2022.11.30

(C언어) 연결리스트: 노드를 뒤쪽에 추가하는 예

노드(Node)를 뒤쪽에 추가하는 연결리스트 코드입니다. 노드를 뒤에 추가하는 예제 C언어 코드 #define _CRT_SECURE_NO_WARNINGS #include #include struct node { char name[20]; // 이름 int age; // 나이 struct node* next; // 다음 도드를 가리키는 포인터 }; int main(void) { struct node* head, *curr, *p; head = curr = NULL; int n = 0; while (1) { p = (struct node*)malloc(sizeof(struct node)); if (n == 0) head = curr = p; printf("이름: "); scanf("%s", p->name);..

C_C++ 2022.11.30

(C언어) mystrcmp: 문자열 비교 함수 만들기

C언어의 strcmp 함수와 같은 기능을 하는 mystrcmp 함수를 만들었습니다. 조건: - string.h 사용하지 않는다. 문자열을 비교하는 함수를 직접 만든다. 참고: strcmp #include // 문자열 str1, str2를 비교해서 // str1이 더 작으면 음수 // str1, str2가 같으면 0 // str1이 더 크면 0보다 큰 값을 반환합니다. int mystrcmp(char* str1, char* str2) { for (; *str1 && (*str1 == *str2); str1++, str2++); return *str1 - *str2; } int main() { char a[] = "abcd"; char b[] = "abcd"; char c[] = "Abcd"; char d[..

C_C++ 2022.11.28

(C언어) sscanf: 문자열에서 형식이 지정된 데이터를 읽는다

#include int sscanf(const char *buffer, const char *format[, address] ... ); sscanf 함수는 지정된 문자열에서 형식화된 값을 읽어 변수에 기억시킵니다. buffer로 지정된 문자열에서 fotmat으로 지정된 형식을 읽어서 각각의 주소에 기억시킵니다. 입력 필드의 개수를 반환합니다. 아무 필드도 저장되지 않으면 0을 반환합니다. #define _CRT_SECURE_NO_WARNINGS #include int main() { char s1[] = "이순신 100 90 80 4.0"; char s2[] = "홍길동 99 88 77 4.4"; char name[20]; int kor, eng, mat; double h; sscanf(s1, "%s ..

C_C++ 2022.11.28

(C언어) 배열 요소를 뒤로 한 칸씩 이동하기(회전하기)

배열의 요소를 뒤로 한 칸씩 이동하는 C언어 코드입니다. 맨 뒤의 요소는 맨 앞으로 이동합니다. 이동 전 10 20 30 40 50 60 70 80 90 99 이동 후 99 10 20 30 40 50 60 70 80 90 C언어 코드 #include void print(int arr[], int n) { int i; for (i = 0; i < n; i++) printf("%d ", arr[i]); printf("\n"); } int main() { int i, j; int a[10] = { 10,20,30,40,50,60,70,80,90,99 }; print(a, 10); // 배열을 오늘쪽으로 한 칸씩 이동하기 // 맨 마지막 값은 맨 처음으로 이동 int temp = a[9]; // 맨 마지막 값 ..

(C언어) 성적처리: 구조체 정렬

#성적처리 #구조체 #정렬 #버블정렬 #struct #bubble #sort #버블소트 구조체 정렬 예제 (버블 정렬) #include struct student { int number; char name[20]; double grade; }; int main() { struct student temp; struct student list[] = { { 1, "홍길동", 3.4}, { 2, "이순신", 3.8}, { 3, "오만원", 4.4}, { 4, "이이", 2.5}, { 5, "허난설현", 3.9} }; int i, size; size = sizeof(list) / sizeof(list[0]); // 성적순 정렬 (버블정렬) for (int i = size - 1; i > 0; i--) { for..

C_C++ 2022.11.27
반응형