728x90

C언어 8

#17 - 구조체 [쉬움]

문제 한 학생의 평점(GPA)을 계산하고자 한다.다음과 같은 결과가 나오도록 구조체를 통해 평점을 계산하는 프로그램을 작성하시오.단, 구조체 멤버는 과목명, 학점수, 성적으로 한다. 성적은 4.5점 만점을 기준으로 한다. (A+: 4.5점부터 F: 0.0점까지 총 9단계의 등급이 있다.) 핵심 개념 ㅡ 구조체 선언과 활용: 기존 배열의 개념으로는 서로 다른 종류의 자료형을 가진 값들을 한데 묶어 활용할 수 없다. 구조체는 다양한 자료형을 가진 변수들을 묶어 사용할 수 있으므로 그러한 한계를 극복할 수 있다. ㅡ 문자열 비교: 문자열이 서로 같은지를 비교하기 위해 필요한 함수가 있음을 알아야 한다. 하나의 문자에 대해서는 ASCII 코드 개념을 활용할 수 있지만, 문자열은 그것이 가능하지 않기 때문이다. ..

카테고리 없음 2019.01.12

#16 - 문자열 [매우 쉬움]*

문제 char* ptr = "program"; 으로 초기화된 문자열을 아래와 같이 출력하는 프로그램을 작성하시오. 핵심 개념 ㅡ 문자열 입출력 방식 문자열을 표현하기 위해 char* 자료형을 가진 변수를 선언하는 것은 char 자료형으로는 문자 한 개밖에 저장할 수 없기 때문이다. char* 은 포인터 자료형으로서 주어진 문자열을 저장하는 주소에 직접 접근한다. 첫 번째 문자의 주소(index 0)에 'p'부터 7번째 문자의 주소(index 6)에 'm'까지 인접한 주소에 순차적으로 저장된다. 마지막에는 자동적으로 null 문자(\0)가 저장되면서 마침표(.)와 같은 역할을 하게 된다. 이렇게 읽기 전용의 문자열 주소가 생성된다.ㅡ 이스케이프 시퀀스 활용 '\' 기호 뒤에 문자나 숫자가 오는 조합을 이스..

카테고리 없음 2019.01.07

#15 - 형 변환 [매우 쉬움]

문제숫자(digit)로 구성된 문자열을 입력받아 정수로 바꾸는 함수를 만들어 프로그램을 작성하시오.ex) 문자열 "4567"은 정수 4567입니다. 핵심 개념ㅡ atoi() 함수 활용 결과ㅡ atoi 함수를 통해 문자열을 정수로 변환했기에 영문자나 특수 문자의 유무에 따라 출력 결과가 바뀐다.ㅡ 문자열은 정수로 되어 있어야 하고 알파벳 영문자, 특수 문자가 포함되면 해당 문자부터는 변환하지 않는다. ㅡ 적절한 크기의 char 배열을 선언하여 입력받은 문자열을 atoi 함수를 통해 정수로 변환하여 출력하였다.

카테고리 없음 2019.01.07

#14 - 배열 [매우 쉬움]

문제1차원 정수형 배열 a[10]에서 10개의 원소를 입력받아 배열에 저장하고, 가장 큰 값과 가장 작은 값의 차이를 반환하는 함수를 만들어 프로그램에 저장하시오. 핵심 개념ㅡ 배열의 정렬 결과 ㅡ 동적할당을 통해 배열의 크기를 설정할 수도 있다. ㅡ line 03- 07: 배열 a에 정수를 size개만큼 입력받는다.ㅡ line 09- 16: 거품 정렬(Bubble sort)을 통해 a[0]를 최솟값, a[size-1]을 최댓값으로 오름차순 정렬한다.ㅡ line 18: 최댓값과 최솟값의 차이를 반환한다.

카테고리 없음 2019.01.07

#13 - 2차원 배열 [매우 쉬움]

2차원 배열을 선언하여 모든 성분의 값을 각 성분의 첨자 간의 곱으로 초기화하고, 그 내용을 다음 결과와 같이 출력하는 프로그램을 출력하시오. 핵심 개념ㅡ 이차원 배열ㅡ 이중 for문 line 8- 10: 첫번째 행 출력 = (1, p) 값들line 11: 첫번째 행 출력을 모두 마쳤으므로 행 바꿈.line 13- 14: 두번째 행 이후의 첫번째 열 출력 = (q>1, 1) 값들 line 16- 18: 두번째 행 이후의 두번째 열 이후 출력 = (r>1, s>1) 값들line 19: 각 행의 출력을 모두 마칠 때마다 행 바꿈.

카테고리 없음 2019.01.06

#12 - 팩토리얼 [매우 쉬움]

문제음이 아닌 임의의 정수 n을 입력받아 n! (n 팩토리얼)을 구하는 함수 factorial(n)을 순환함수로 작성하시오. 0! = 1, 1! = 1 이고, n≥2일 때, n! = n * (n-1)! 이다.ex) 4! = 4 * 3! = 4*(3*2*1) 이전 글에서 반복문/ 재귀함수(순환함수)를 통해 팩토리얼을 구하는 방법을 모두 다뤘었다. 2019/01/03 - [분류 전체보기] - #10 - 함수 [매우 쉬움] 핵심 아이디어 ㅡ 반복문 / 재귀함수 활용ㅡ long 자료형 변수 사용

카테고리 없음 2019.01.06

#11 - 제곱근(2) [쉬움]

문제직각삼각형에서 직각을 이루는 두 변의 길이를 입력받고, 함수를 통해 빗변의 길이를 반환값으로 돌려받아 출력하는 프로그램을 작성하시오. 이 함수의 매개변수 및 반환값은 double로 하시오. 이전 프로그램의 경우, 화면에 출력된 값이 실제 빗변의 길이와 다소 오차가 존재했다. 그것은 double 자료형이 제한된 용량을 갖고 있고, 또 실제로 화면에 출력할 수 있는 정도에도 분명한 한계가 있기 때문이다. 무한한 성격의 실수를 표현해야하기 때문에 발생하는 불가피한 한계에도 불구하고 화면에 출력된 값을 충분히 신뢰할 수 있기 위해서는 적어도 출력값이 double의 유효숫자 안에서만 표현되어야 한다. 다음은 이러한 한계점을 보완하기 위해 출력 방법을 보완한 프로그램이다. 핵심 아이디어ㅡ 제곱과 제곱근ㅡ 실수와..

카테고리 없음 2019.01.06

#11 - 제곱근 [매우 쉬움]

문제직각삼각형에서 직각을 이루는 두 변의 길이를 입력받고, 함수를 통해 빗변의 길이를 반환값으로 돌려받아 출력하는 프로그램을 작성하시오. 이 함수의 매개변수 및 반환값은 double로 하시오. 핵심 아이디어 ㅡ 제곱과 제곱근 ※ 결과 ㅡ 실행을 4번 반복한 결과가 다음과 같다.ㅡ 한정된 크기의 double형 변수는 유효숫자가 15이기에 완전한 실수의 표현이 불가하고, 따라서 다음의 결과는 모두 근삿값이다.ㅡ 다음과 같은 결괏값이 정확하려면 c < 10^10 이고, c는 소숫점 6자리 이하의 유한소수이어야 한다. ㅡ line 9: sqrt(k)는 특정값의 제곱근을, pow(a,b)는 첫번째 매개변수를 밑으로 하고, 다음의 수를 승수로 하는 수의 값을 계산한다. 주요 문법ㅡ 헤더파일에 존재하는 sqrt(k)..

카테고리 없음 2019.01.06
728x90