반응형

언어 자료구조 알고리즘/디딤돌 C언어 150

[정답] 디딤돌 C언어 73. 문자열 정리하기

[정답] 73. 문자열 정리하기 68. 문자열69. 문자열 사용 기초70. 문자열 길이와 strlen 함수71. 문자열 비교와 strcmp 함수72. 문자열 복사 1. 문자열 길이를 구하는 함수를 만드시오. (strlen 함수와 같은 기능을 하는 함수 만들기) 답: //문자열 길이를 구하는 함수를 만드시오. //(strlen 함수와 같은 기능을 하는 함수 만들기) #include #include int mystrlen(const char *str); int main(void) { char arr[100]; printf("문장 입력:"); gets_s(arr, sizeof(arr)); printf("%s string length:%d\n", arr, mystrlen(arr)); printf("%s stri..

[정답] 디딤돌 C언어 67. 정리하기(함수)

[정답] 67. 정리하기(함수) 52. 함수 개요 53. 프로그램 생명 주기 54. 프로세스 메모리 구조 55. 프로그램 동작 원리 56. 매개변수 전달 원리 57. 전역 변수 58. 지역변수 59. 정적 변수 60. 상수화 변수 61. 함수 만들기 실습 시나리오 62. 도메인 분석 63. 함수명 결정 64. 함수 원형 결정 65. 테스트 코드 작성하기 66. 구현 1. 피보나치 수열의 n 항을 구하는 함수를 구현하시오. //피보나치 수열의 n 항을 구하는 함수를 구현하시오. #include int Fibonacci(int n); int main(void) { int i; for (i = 1; i 2. 특정 구간 내에 n의 배수의 개수를 구하는 함수를 구현하시오. 답: //특정 구간 내에 n의 배수의 개..

[정답] 디딤돌 C언어 52. 함수 개요

[정답] 52. 함수 개요 ◈ 기본 연습 1. 두 개의 정수를 입력 매개변수로 전달받아 큰 수를 반환하는 함수를 작성하시오. 그리고 작성한 함수를 이용해서 2, 9 중에 큰 수를 출력하시오. 답: //두 개의 정수를 입력 매개변수로 전달받아 큰 수를 반환하는 함수 작성 //그리고 작성한 함수를 이용해서 2, 9 중에 큰 수를 출력 #include int FindBig(int a, int b); int main(void) { printf("%d\n", FindBig(2, 9)); return 0; } int FindBig(int a, int b) { if (a > b) { return a; } return b; } 2. 하나의 정수를 입력 매개변수로 전달받아 홀수일 때는 0을 반환하고 짝수일 때는 1을 반..

[정답] 디딤돌 C언어 50. 인덱스 연산자

[정답] 50. 인덱스 연산자 ◈ 기본 연습 1. 4 명의 국어 성적을 관리할 수 있는 배열을 선언하시오. 그리고 첫번째 학생은 90점, 두번째 학생은 85, 세번째 학생은 69, 네번째 학생은 75점으로 대입합니다. 네 명의 국어 성적의 합계, 평균을 출력하는 프로그램을 작성하시오 답: //4 명의 국어 성적을 관리할 수 있는 배열을 선언하시오. //그리고 첫번째 학생은 90점, 두번째 학생은 85, 세번째 학생은 69, 네번째 학생은 75점으로 대입 //네 명의 국어 성적의 합계, 평균을 출력하는 프로그램을 작성하시오 #include #define MAX_STUDENT 4 int main(void) { int scores[MAX_STUDENT]; int ni; int sum=0; scores[0] =..

[정답] 디딤돌 C언어 49. 간접 연산자

[정답] 49. 간접 연산자 ◈ 기본 연습 1. 다음 3단계를 수행하는 코드를 작성하세요. a. char 형식 변수 c를 선언하고 char 형식 을 원소로 하는 포인터 변수 p를 선언한 후에 변수 c의 주소를 p의 초기값으로 설정하세요. b. 포인터 변수 p에 간접 연산을 이용하여 'A'를 대입하세요. c. 그리고 변수 c의 문자를 출력하세요. 답: //char 형식 변수 c를 선언, char 포인터 변수 p 선언 및 변수 c의 주소로 초기화 //포인터 변수 p에 간접 연산을 이용하여 'A'를 대입 //변수 c의 문자를 출력 #include int main(void) { char c; char *p = &c; *p = 'A'; printf("%c\n",c); return 0; } ▷실행 결과 A 2. 다..

[정답] 디딤돌 C언어 47. 포인터 + 정수

[정답] 47. 포인터 + 정수 ◈ 기본 연습 1. char 형식을 원소로 하는 포인터 변수 p를 선언하고 1000으로 초기화하세요. 그리고 p에 4를 더한 후에 p가 얼마인지 출력하세요. 답: 1004 char 형식의 크기는 1 바이트이므로 p+4를 하면 p에서 sizeof(char)*4를 더하므로 1004 //char 형식을 원소로 하는 포인터 변수 p를 선언하고 1000으로 초기화하세요. //그리고 p에 4를 더한 후에 p가 얼마인지 출력하세요. #include int main(void) { char *p = (char *)1000; printf("%d\n", p + 4); return 0; } 2. short 형식을 원소로 하는 포인터 변수 p를 선언하고 1000으로 초기화하세요. 그리고 p에 4..

[정답] 디딤돌 C언어 46. 배열 선언문

[정답] 46. 배열 선언문 ◈ 기본 연습 1. 한 학생의 국어 성적, 영어 성적, 수학 성적을 관리하는 배열을 선언하세요. 그리고 초기값으로 국어 성적은 80, 영어 성적은 60, 수학 성적은 90으로 지정하고 각 원소의 값을 출력하세요. 답: //1. 한 학생의 국어 성적, 영어 성적, 수학 성적을 관리하는 배열을 선언하세요. //그리고 초기값으로 국어 성적은 80, 영어 성적은 60, 수학 성적은 90으로 지정하고 //각 원소의 값을 출력하세요. #include enum SubjectType { KOREAN, ENGLISH, MATH,MAX_SUBJECT }; int main(void) { int scores[MAX_SUBJECT] = { 80,60,90 }; const char *titles[MA..

[정답] 디딤돌 C언어 44.정리하기(제어문)

[정답] 44.정리하기(제어문) 1. 두 개의 정수를 입력받아 작은 값을 출력하는 코드를 작성하시오. 답: //두 개의 정수를 입력받은 후에 직은 값을 출력하는 프로그램 #include int main(void) { int a, b; printf("두 개의 정수 입력:"); scanf_s("%d%d", &a, &b); if (a > b) { printf("두 수 중에 작은 수는 %d\n", b); } else { printf("두 수 중에 작은 수는 %d\n", a); } return 0; } 2. 10개의 정수를 입력받아 최소값과 최대값을 출력하는 코드를 작성하시오. 답: //10개의 정수를 입력받아 최소값과 최대값을 출력하는 코드 #include int main(void) { int num; int ..

[정답] 디딤돌 C언어 43. 제어문 연습 - 별출력

[정답] 43. 제어문 연습 - 별출력 1. 다음처럼 입력한 정수 높이의 삼각형을 출력하는 프로그램을 작성하시오. 답: //삼각형 출력 //입력 // 5 - n //출력 // * 1- 공백 4, 별1, 개행 // *** 2- 공백 3, 별3, 개행 // ***** 3- 공백2, 별5, 개행 // ******* 4- 공백1, 별7, 개행 // ********* 5- 공백0, 별9, 개행 //공백 = n-line //별 = 2*line -1 //개행=1 #include int main(void) { int n; int line,space,star; scanf_s("%d",&n);//입력 for(line=1;line

[정답] 41. 반복문(while, do while, for)

[정답] 41. 반복문(while, do while, for) ◈ 기본 연습 1. 두 수를 입력받은 후 작은 수~큰 수 사이의 모든 수의 합을 구하는 프로그램을 작성하시오. 답: //두 수를 입력받은 후 작은 수~큰 수 사이의 모든 수의 합을 구하는 프로그램 #include int main(void) { int a, b; int sum; printf("두 개의 정수 입력:"); scanf_s("%d%d", &a, &b); if (a > b)//a가 b보다 크면 { //두 수를 교환 int temp = a; a = b; b = temp; } printf("%d ~ %d =", a, b); for (sum = 0; a 2. 1부터 100 사이에 있는 모든 6의 배수를 출력하는 프로그램을 작성하시오. 답: /..

반응형