C Programming 18

[열혈 C 코딩] Chapter 24 - 파일 입출력(문제풀이)

문제 24-1문제 1.#include #include #include #include int main(void) { FILE* fp = fopen("mystory.txt", "wt"); fputs("#이름: 홍길동 \n", fp); fputs("#주민번호: 900208-1012589 \n", fp); fputs("#전화번호: 010-1111-2222 \n", fp); fclose(fp); return 0; } 설명: 간단한 텍스트 파일 생성 문제. 문제 2.int main(void) { FILE* fp = fopen("mystory.txt", "at"); fputs("#즐겨먹는 음식: 짬뽕, 탕수육\n", fp); fput..

[열혈 C 코딩] Chapter 23 - 구조체와 사용자 정의 자료형2(문제풀이)

문제 23-1#include #include #include #include typedef struct point { int xpos; int ypos; }Point; void SwapPoint(Point* ptr1, Point* ptr2) { Point temp = *ptr1; *ptr1 = *ptr2; *ptr2 = temp; } int main(void) { Point pos1 = { 2, 4 }; Point pos2 = { 5, 7 }; SwapPoint(&pos1, &pos2); printf("바뀐 후 결과\n"); printf("pos1 = %d %d\n", pos1.xpos, pos1.ypos); p..

[열혈 C 코딩] Chapter 22- 구조체와 사용자 정의 자료형1(문제풀이)

문제 22-1#include #include #include #include struct employee { char name[10]; char num[20]; int money; }; int main(void) { struct employee person; printf("종업원 이름 입력: "); scanf("%s", person.name); printf("주민등록번호 입력: "); scanf("%s", person.num); printf("급여정보 입력: "); scanf("%d", &person.money); printf("결과 출력: %s %s %d", person.name, person.num, ..

[열혈 C 코딩] Chapter 18 - 2차원 배열에 대한 종합점검(문제 풀이)

문제 18-1.문제 1.int* arr1[5]; // 포인터 변수 5개로 이루어진 배열 arr -> 포인터 배열 -> arr1은 1차원 배열. -> arr1은 int형 포인터 변수로 이뤄진 배열. 배열의 이름 arr이 포인터 변수를 가리킴(저장). ① 첫번째 요소 arr[0]의 포인터형: int* ② 포인터 변수를 담은 배열의 포인터형: int* -> int** 최종적으로 &arr[0]을 가리키는 포인터형 = Int** 정답: int** ptr;int* arr2[3][5]; // 포인터 변수 15개로 이루어진 2차원 배열 -> arr2는 2차원 배열이다. -> arr2는 int형 포인터 변수로 이뤄진 배열. arr2의 가로길이는 5, arr2는 포인터 변수(각 요소)를 저장하니까, 최종적으로 2차원 ..

Chapter 15 도전! 프로그래밍 2(문제 풀이)

도전 문제 1.#include void ShowOdd(int* arr, int size);void ShowEven(int* arr, int size);int main(void){ int arr[10]; int i; printf("총 10개의 숫자 입력 \n"); for (i = 0; i 10; i++) { printf("입력: "); scanf("%d", &arr[i]); } printf("홀수 출력 : "); ShowOdd(arr, sizeof(arr) / sizeof(int)); printf("짝수 출력 : "); ShowEven(arr, sizeof(arr) / sizeof(int)); return 0;}void ..

[열혈 C 코딩] Chapter 14 - 포인터와 함수(문제 풀이)

문제 14-1문제 1.#include int SquareByValue(int num){ return num * num;}void SquareByReference(int* ptr){ int num = *ptr; *ptr = num * num;}int main(void){ int num; scanf("%d", &num); printf("%d\n", SquareByValue(num)); SquareByReference(&num); printf("%d", num); return 0;} 설명: 1) SquareByValue 함수 = Pass by Valueint SquareByValue(int num) // 단순 함수의 결과값 전달{ return num * n..

[열혈 C 코딩] Chapter 13 - 포인터와 배열(문제 풀이)

문제 13-1문제 1.#include int main(void){ int arr[5] = { 1, 2, 3, 4, 5 }; int* ptr = arr; int i; for (i = 0; i 5; i++) { *ptr += 2; ptr++; } for (i = 0; i 5; i++) { printf("%d ", arr[i]); } return 0;} 설명:1) 각 배열 요소의 값 2 증가와 동시에 다음 요소로 접근.*ptr += 2; ptr++; 문제 2.#include int main(void){ int arr[5] = { 1, 2,3,4, 5 }; int i; int* ptr = arr..