Page 276 고등학교 프로그래밍 교과서
P. 276
정답 및 해설
151쪽 스스로 해결하기 152쪽 컴퓨팅 사고력을 키우는 수행 평가
초급
#include
int main( ) 실행 결과
{
1 번째 동물은 dog 입니다.
int a;
2 번째 동물은 cat 입니다.
char *spring_term[6] = { "입춘", "우수", "경칩", "춘분", "청명", "
3 번째 동물은 lion 입니다.
곡우"};
for (a = 0; a < 6; a++) {
[해설] 최대 문자 10개짜리 문자열 3개를 저장할 수 있는 2차원 배열을 선언하
printf("%s ", spring_term[a]);
고 dog, cat, lion을 입력한다. 그리고 반복문을 이용하여 문자열을 출력한다.
}
return 0;
중급
}
#include
[해설] 6개의 포인터를 가지는 포인터 배열을 선언하여 봄에 해당하는 6개의 int main(void)
절기를 초기화하여 입력한다. 그리고 반복문을 이용하여 출력해 주면 된다. {
int a;
char *animals[3] = { "dog", "cat", "lion" };
for (a = 0; a < 3; a++)
151쪽 응용하기
printf(" %d 번째 동물은 %s 입니다\n", a+1, animals[a]);
return 0;
#include
}
#include
int main( )
[해설] 2차원 배열 대신 포인터 배열을 사용한다. animals 변수는 문자형 포
{
인터 변수 3개를 가질 수 있다.
int a;
char *spring_term[6] = { "입춘", "우수", "경칩", "춘분", "청명", "
곡우"};
153쪽 내 실력 확인하기
char tname[10];
scanf("%s",tname); 1 배열은 메모리에 연속된 공간을 기억 공간으로 할당하기 때문에 크기
for (a = 0; a < 6; a++) { 가 매우 큰 자료를 저장할 수 없다. 또한 저장해야 할 크기를 알 수 없는
if (strcmp(spring_term[a], tname)= =0) { 문자열을 저장할 때, 포인터 변수를 유용하게 사용할 수도 있다.
printf("%s 봄 절기 입니다. ", tname); 2 ②
break; [해설] 포인터 변수의 선언은 *를 사용한다.
} 3
}
실행 결과
return 0;
} you
[해설] 6개의 절기를 먼저 포인터 배열에 모두 저장하고 scanf( ) 함수를 이용
하여 검색할 절기명을 입력받는다. 그리고 반복문을 이용하여 입력한 절기명 [해설] 포인터 변수에 입력된 글자 중 8번째 글자부터 출력된다. 공백도 글자
이 포인터 배열에 있는지 확인한다. 이때, 문자열 두 개를 비교해야 하므로 문 로 취급한다.
자열 비교 함수인 strcmp( )를 사용한다. strcmp( ) 함수는 비교할 두 문자열
이 같으면 0을 반환한다.
274 부록
(책)2015프로그래밍-교과서3차심의본 본문.indb 274 2017-09-05 오후 4:17:13