728x90

연재 완료/C Lang 예제코드 모음 83

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..

C언어 구조체 및 공용체 주요예제4 (트리 방문 프로그램)

트리(tree) 방문 프로그램 ※ 참고 : 트리는 노드(node)라 부르는 원소들로 구성된다. 또한 루트(root) 노드를 하나 보유하는데, 루트를 제외한 나머지 노드들은 서로 별개인 부트리(subtree)로 나눌 수 있다. ■ 2진 트리(Binary tree) : 두 개 이하의 자손을 원소로 갖는 트리● 이진 트리 구조는 왼쪽 자손(left offspring), 오른쪽 자손(right offspring)이라는 두개의 링크 필드를 가진 자료 구조로 간주할 수 있으므로, 이러한 표현 방식을 따르면 잎 노드는 왼쪽 자손과 오른쪽 자손의 값을 NULL로 가지는 노드이다. ■ 2진 트리의 원소를 방문하는 방법● 중위순(inorder) : 왼쪽 부트리 -> 루트 -> 오른쪽 부트리 순으로● 전위순(preorder..

C언어 구조체 및 공용체 주요예제3 (queue구현)

내용 출처 : YES C (정보공학연구소 /생능출판사) 단순 연결 리스트를 이용하여 생성한 큐(queue)를 이용하는 프로그램 // A linked list implementation of a queue. #include #include #include #include #define EMPTY0 #define FULL10000 typedef unsigned int data; struct element{ data d; element* next; }; //an element in the queue struct queue { int cnt;//a count of the elements element* front;//ptr to the front element element* rear;//ptr to the r..

C언어 구조체 및 공용체 실습문제1 (선형 연결 리스트에서 특정문자 삭제하기)

입력된 데이터 중에서 특정 문자를 지울 수 있는 프로그램 // practics.cpp: 콘솔 응용 프로그램의 진입점을 정의합니다. // #include "stdafx.h" //linear linked list example #include #include #include #define MAXLINE 100 typedef char DATA;// will use char in examples struct linked_list { DATAd; 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)..

C언어 구조체 및 공용체 주요예제2 (선형 연결 리스트)

내용 출처 : YES C (정보공학연구소 /생능출판사) 선형 연결 리스트 예제 //linear linked list example #include #include #include #define MAXLINE 100 typedef char DATA;// will use char in examples struct linked_list { DATAd; 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); LINK string_to_list(char s[]); void delete_list(LI..

C언어 구조체 및 공용체 주요예제1 (구조체)

구조체 내의 char형 배열에 문자열 값을 넣을 때는 strcpy_s()함수를 쓴다 . #include #include struct member { char name[10]; char sex; int age; }; int main() { member kdh; strcpy_s(kdh.name, "홍길동"); //strcpy_s()함수를 이용해 char형 배열에 값을 대입할 수 있다. kdh.sex = 'm'; kdh.age = 22; printf("이름 : %s \n", kdh.name); printf("성별 : %c \n", kdh.sex); printf("나이 : %d \n", kdh.age); } 바로 대입하고 싶을 때.#include struct member { const char* name; //..

C언어 연습문제 풀이 CH8 (18 ~ 22)

18. 다음 프로그램의 결과를 분석하라. #include int main() { int i[3] = { 100, 200, 300 }; int *iptr1, *iptr2; printf(" 1) i[0] = %5d; &i1 = %5u \n", i[0], &i[0]); printf(" 2) i[1] = %5d; &i2 = %5u \n", i[1], &i[1]); printf(" 3) i[2] = %5d; &i3 = %5u \n\n", i[2], &i[2]); iptr1 = &i[1]; printf(" 4) iptr1 = %5u; *iptr1 = %5u \n\n", iptr1, *iptr1); iptr1 += 1; printf("Adding 1 to POINTER varibale \n"); printf(" 5)..

반응형