728x90
반응형
Q1. 실습 3-3의 search 함수를 while문이 아니라 for문을 사용하여 수정한 프로그램을 작성하세요.
답안)
#include <stdio.h>
#include <stdlib.h>
int search(int a[], int n, int key) {
int i = 0;
a[n] = key;
for(i; i<=n; i++) {
if(a[i] == key)
break;
}
return i == n ? -1 : i;
}
int main(void) {
int i, nx, ky, idx;
int *x;
puts("선형 검색(보초법)");
printf("요소 개수 : ");
scanf("%d", &nx);
x = calloc(nx+1, sizeof(int));
for(i=0; i<nx; i++) {
printf("x[%d] : ", i);
scanf("%d", &x[i]);
}
printf("검색값 : ");
scanf("%d", &ky);
idx = search(x, nx, ky);
if(idx == -1)
puts("검색에 실패했습니다.");
else
printf("%d(은)는 x[%d]에 있습니다.\n", ky, idx);
free(x);
return 0;
}
728x90
반응형
'Algorithm > Do it' 카테고리의 다른 글
[자료구조와 함께 배우는 알고리즘 입문 - C언어 편] 3장 검색 연습문제 Q5 답안 p.115 (0) | 2019.10.16 |
---|---|
[자료구조와 함께 배우는 알고리즘 입문 - C언어 편] 3장 검색 연습문제 Q3 답안 p.115 (0) | 2019.10.16 |
[자료구조와 함께 배우는 알고리즘 입문 - C언어 편] 2장 기본 자료구조 연습문제 Q12 답안 p.93 (0) | 2019.10.12 |
[자료구조와 함께 배우는 알고리즘 입문 - C언어 편] 2장 기본 자료구조 연습문제 Q10 답안 p.76 (0) | 2019.10.09 |
[자료구조와 함께 배우는 알고리즘 입문 - C언어 편] 2장 기본 자료구조 연습문제 Q9 답안 p.75 (0) | 2019.10.09 |