Lookup 배열이란?
정보검색 기능을 목적으로 사용된 배열!!
필요성
불필요한 중복문을 "아주 효과적으로" 제거해준다.
예제
void lookup(void){
// 나이정보는 선형구조이므로, lookup 배열을 만들어 사용할 수 있다.
double aRate[10] = {
0.0, 0.1, 0.25,
0.5, 0.5,
0.6, 0.65,
0.8, 0.82, 0.97
};
int nAge = 0, i = 0, nFee = 1000;
// 요금표를 출력한다.
printf("요금표\n");
for (i = 1; i <= 10; ++i)
printf("%d세 요금 :\t%d원\n", i, (int)(nFee * aRate[i-1]) ); // 가격 * 과률금률
putchar('\n');
/*
if(i == 0) { ... }
else if(i == 1) { ...}
...
else { ... }
이런 중복된 반복문을 작성하지 않아도 된다!
*/
printf("나이를 입력하세요. : ");
scanf("%d", &nAge);
// 입력 범위를 초과하면, 최소&최대값으로 강제조정
if(nAge < 1) nAge = 1;
else if (nAge > 10) nAge = 10;
// 나이에 맞는 배열요소를 선택하고 별다른 제어문 없이 즉시 값을 출력
printf("최종요금 : %d원\n", (int)(nFee * aRate[nAge - 1]));
putchar('\n');
}
반응형