728x90

소스코드 160

C언어 표준 라이브러리 주요예제 1 (문자열 처리 함수)

1. 문자열을 복사하고, 길이를 구하는 프로그램을 작성하라. #include #include int main() { char str1[10]; strcpy_s(str1, "abc"); printf("%s", str1); printf("%zd \n",strlen(str1)); } 2. 키보드로부터 입력되는 두 문자열을 연결하는 프로그램을 작성하라. #define _CRT_SECURE_NO_WARNINGS //scanf로만 되기 때문에 넣어뒀다. //별로 좋은 예제는 아님. #include #include int main() { char str1[100]; char str2[100]; printf("첫번째 문자열을 입력하세요 : "); scanf("%s", str1); printf("두번째 문자열을 입력하세..

C언어 연습문제 풀이 CH10 (9-11)

9. 다음 주어진 프로그램을 전처리기가 처리한 후 결과가 어떻게 나올지 써보라. 의도한 것과 다르다면 소스를 고쳐라. #define SQR(x) ((x)*(x)) void main(void) { int i = 2; printf("%d\n", SQR(++i)) } //전처리기 처리 후 코드 #include #define SQR(x) ((x)*(x)) void main(void) { int i=2; printf("%d\n", SQR(++i)); //위의 코드는 printf("%d\n", (++i) * (++i)); //와 같다. 즉 3*4가 되어 12가 나온다. //매크로 함수에서는 증감연산자를 쓸 수 없다고 생각하는게 좋으니 i = 2; ++i; printf("%d\n", SQR(i)); //i값을 꼭 증..

C언어 연습문제 풀이 CH10 (6-8)

6. 입력받은 세 개의 정수 중 가장 큰 값을 구하는 프로그램을 매크로 MAX(A,B,C)를 이용하여 작성하라. #include #define MAX(a,b,c) (((a)>(b)) ? ((a) > (c) ? (a) : (c)) : ((b) > (c) ? (b) : (c))) int main() { int a, b, c; printf("a값을 입력하세요 : "); scanf_s("%d", &a); printf("b값을 입력하세요 : "); scanf_s("%d", &b); printf("c값을 입력하세요 : "); scanf_s("%d", &c); printf("입력하신 값 중에서 가장 큰 값은 %d입니다. \n", MAX(a, b, c)); } 7. 프로그램의 실행결과가 다음과 같이 되도록 매크로 pr..

C언어 연습문제 풀이 CH10 (1-5)

1. 매크로 정의를 이용하여 원의 둘레를 구하는 프로그램을 작성하라. #include #define PI 3.141592 #define circumference(r) 2*PI*r int main(void) { double r; printf("원의 반지름을 입력하세요 : "); scanf_s("%lf", &r); printf("반지름이 %g인 원의 둘레는 %g입니다 \n",r,circumference(r)); } 2. 매크로 정의를 이용하여 5의 세제곱의 값을 구하여 출력하는 프로그램을 작성하라. #include #define cube(r) r*r*r int main(void) { printf("5의 세제곱 : %d \n", cube(5)); } 3. 다음 프로그램에서 전처리기가 #define, #ifde..

C언어 연습문제 풀이 CH9 (15~19)

15. 복소수 곱셈을 수행하는 함수를 작성하라. 이때, complex에 대한 포인터를 반환하는 함수와 complex형의 값을 반환하는 두개의 함수를 각각 작성하라. #include #include //malloc(), free() 사용 struct complex { double real_number; //실수부 double imaginary_number; //허수부 }; complex cp_mult(complex c1, complex c2); complex* cp_mult_rp(complex c1, complex c2); int main() { complex c1, c2, c3; complex* cp; printf("복소수의 곱셈을 합니다. \n"); printf("첫번째 복소수의 실수부를 입력하세요 :..

C언어 연습문제 풀이 CH9 (6~14)

6. 백화점 신용카드 고객 중 "Johnson"의 정보를 출력하는 프로그램을 작성하라. #include #include struct Customer { int ID; char name[10]; char address[30]; char phone[15]; int price; }; int main() { Customer list[10]; list[0] = { 1234, "Johnson", "Taejon,Korea", "042-654-0987", 200000 }; printf("고 객 번 호 : %d \n", list[0].ID); printf(" 이 름 : %s \n", list[0].name); printf(" 주 소 : %s \n", list[0].address); printf("전 화 번 호 : %s ..

C언어 연습문제 풀이 CH9 (1~5)

1. 학생의 학번과 국어,영어,수학 점수를 저장할 수 있는 구조체를 만들고, 각 학생의 평균 점수를 출력하는 함수를 작성하라. #include struct score { int id; int korean; int eneglish; int math; }; double avr(score* sp); int main() { score student[5]; for (int i = 0; i < 5; i++) { printf("%d번째 학생의 학번을 입력하세요 :", i + 1); scanf_s("%d", &(student[i].id)); printf("%d번째 학생의 국어 점수를 입력하세요 : ", i+1); scanf_s("%d", &(student[i].korean)); printf("%d번째 학생의 영어 점수..

C언어 구조체 및 공용체 주요예제7 (이중 연결 리스트에서 특정 문자 삭제)

내용 출처 : YES C (정보공학연구소 /생능출판사) 이중 연결 리스트(doubly linked list) 에서 특정 문자 삭제하는 예제 // 이중 연결 리스트 예제 #include #include #include #include #define MAXLINE 100 typedef char DATA; struct ELEMENT { DATA d; ELEMENT *prev; ELEMENT *next; }; typedef ELEMENT* LINK; void concatenate(LINK a, LINK b); int count_it(LINK head); void delete_list(LINK head); LINK string_to_list(LINK p, char s[]); void wrt_list(LINK hp..

C언어 구조체 및 공용체 주요예제 6 (트리 오름차순 정렬 (미완성))

내용 출처 : YES C (정보공학연구소 /생능출판사) 데이터를 입력받아 트리에 저장한 후 출력한다.단 값이 입력될 때, root보다 작으면 왼쪽 노드에, 크면 오른쪽 노드에 저장한다.이렇게 저장한 후 중위순 운행을 하면 오름차순으로 정렬된 결과가 출력된다. //제대로 작동 안함. 다시 분석해야할 예제 #include #include #include #include #define LEFT 0 #define RIGHT 1 typedef int DATA; struct NODE { DATA d; NODE *left; NODE *right; }; typedef NODE* BTREE; BTREE add_node(BTREE parent, BTREE r_node, DATA d1, int r_1); BTREE new_..

C언어 구조체 및 공용체 주요예제 5 (이중 연결 리스트)

내용 출처 : YES C (정보공학연구소 /생능출판사) 이중 연결 리스트(doubly linked list) 예제 // 이중 연결 리스트 예제 #include #include #include #include #define MAXLINE 100 typedef char DATA;//will use char in exmaples struct linked_list { DATA d; linked_list *prev; linked_list *next; }; typedef linked_list ELEMENT; typedef ELEMENT* LINK; void concatenate(LINK a, LINK b); int count(LINK head); int count_it(LINK head); void delete_l..

반응형