본문 바로가기

프로그래밍 언어들

C언어 문제 - 세 정수 중 가장 큰 수(최대값) 출력하기 (questions in C) C언어 문제 - (questions in C) - 세 정수를 입력받아 가장 큰 수(최대값)를 출력하라. #include int main (void) { int x, y, z; int max; scanf("%d%d%d", &x, &y, &z); max = x; if( max z) { max = y; } else { max = z; } } else { if( max 더보기
C언어 문제 - 짝수 또는 홀수 판단하기 (questions in C) C언어 문제 - (questions in C) - 입력받은 수가 홀수 또는 짝수인지 판단하여 출력하라. #include int main (void) { int n; scanf("%d", &n); if( n % 2 == 0) { printf("짝수\n"); } else { printf("홀수\n"); } } 더보기
C언어 문제 - 점수를 입력받아 학점 출력하기 (questions in C) C언어 문제 - (questions in C) - 0~100 사이의 점수를 입력받아 90~100 사이면 A, 80~89 사이면 B, 70~79 사이면 C, 60~69 사이면 D, 나머지는 F를 출력하라. #include int main (void) { int score; scanf("%d", &score); if( score >= 90 && score = 80 && score = 70 && score = 60 && score 더보기
C언어 문제 - 마이너스(-) 연산자 없이 뺄셈 하기 (questions in C) C언어 문제 - (questions in C) - 마이너스(-) 연산자 없이 뺄셈 하기 #include int main (void) { int n; int m; scanf("%d", &n); scanf("%d", &m); m = ~m + 1; printf("%d\n", n + m); } 더보기
C언어 문제 - 거스름돈 계산 (questions in C) C언어 문제(questions in C) - 물건 가격과 지불 금액을 입력받고, 거스름돈에 대해서 5000원, 1000원, 500원, 100원, 10원, 1원을 각각 얼마씩 줘야하는지 계산하기. #include int main (void) { int cost; int pay; int money; scanf("%d", &cost); scanf("%d", &pay); money = pay - cost; printf("5천원 %d장\n", money / 5000); money = money % 5000; printf("1000원 %d장\n", money / 1000); money = money % 1000; printf("500원 %d개\n", money / 500); money = money % 500; p.. 더보기
C언어 문제 - 입력받은 세 자리 수 거꾸로 출력 (questions in C) C언어 문제(questions in C) - 입력받은 세 자리 수 거꾸로 출력 #include int main (void) { int number; int result; scanf("%d", &number); result = number / 100; result += ((number % 100) / 10) * 10; result += (number % 10) * 100; printf("%d\n", result); //printf("%d%d%d\n", number % 10, (number % 100) / 10, number / 100); } 더보기
9장 - C언어 반복문 for문(repetitive statement in C) 9장 - C언어 반복문 for문(repetitive statement in C) - 반복문이란 특정한 루틴을 어느 조건이 만족할 때까지 반복적으로 수행하는 것입니다. 만약 특정 문구를 10번 출력하고 싶으면 어떻게 할까요? printf(특정 문구); 를 10번 사용하면 되겠죠. 그렇다면 100번 만번 그 이상의 횟수라면? 같은 작업인데도 불구하고 하나 하나 재 입력해야 합니다. printf(특정 문구); ....... printf(특정 문구); 이렇게 동일한 루틴을 어떤 조건이 만족 시키기 전까지 반복 수행시켜주는 것이 반복문이라고 합니다. 1. for문 가장 흔히 사용되는 반복문의 하나입니다. 보통 반복 횟수가 명확할 때 사용 됩니다. int main (void) { for( 초기화 ; 조건부 ; 증감.. 더보기
C언어 이진 탐색 트리(Binary Search Trees in C) C언어 이진 탐색 트리(Binary Search Trees in C) - 이진 탐색 트리는 각 노드가 객체인 연결된 데이터 구조로 표현된다. - 각 노드를 기준으로 노드의 키 값보다 작은 값은 좌측, 큰 값은 우측으로 보낸다. - 각 노드는 키 값 외에도 left, right, p의 포인터 변수를 포함한다. - left, right는 자신의 자노드들을, p는 상위 노드를 가르킨다. - root 노드는 유일하게 상위 노드가 없는 노드이다. [ Fig. 1 ] 이진 탐색 트리 1. 동작 원리 (1) root 노드를 가르키는 root 포인터를 선언하고 초기화 한다. (2 - 1) 노드 삽입 명령 시 새로운 노드를 생성하고, 키 값을 입력한다. (2 - 2) 현재 트리를 구성하고 있는 노드들의 키 값과 비교하여.. 더보기
8장 - C언어 조건문(Conditional statement in C)(2) 8장 - C언어 조건문(Conditional statement in C)(2) 1. switch~case 주어진 변수 또는 수식에 대해, 그 값에 따라 일치하는 각각의 case 를 수행하는 실행문입니다. int main( void) { switch( 조건 or 변수 ) { case a : case b : .... default : } } 구조는 위의 소스 코드와 같습니다. switch 뒤의 괄호 안에 조건 또는 변수가 들어가게 됩니다. 그리고 그 값에 따라 일치하는 case 문을 수행하는 구조입니다. 맨 마지막의 default 는 if~else문의 else와 같은 역할로 위의 case에 만족하는 값이 없을 경우 수행하게 됩니다. int main( void) { int number; number = 2; .. 더보기
C언어 원형 이중 연결리스트(Circular, doubly linked lists in C) C언어 원형 이중 연결리스트(Circular, doubly linked lists in C) - 이중 연결리스트의 구조에서 가장 처음과 마지막 노드가 서로 연결 되어있는 구조 - 시작 위치를 알기 위해 연결리스트의 맨 앞에 NULL 노드를 추가 [ Fig. 1 ] 원형 이중 연결리스트, site: introduction to algorithm 3/E 1. 동작 원리 (1) NULL 노드를 생성하고 초기화하고 HEAD 포인터가 이를 가르키게 한다. (2-1) 삽입 명령시 새로운 노드를 생성한다. (2-2) NULL 노드의 이전 노드를 새로 생성한 노드로 지정하고, 새로 생성한 노드의 다음 노드를 NULL 노드로 지정한다. (2-3) 연결리스트의 가장 마지막 노드를 찾아서, 이 노드의 다음 노드를 새로 생성.. 더보기