쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 11-3
9.
#include <stdio.h>
int search(int* A, int size, int x);
int main(void) {
int data[10] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
}
;
int index = search(data, 10, 9);
printf("%d\n", index);
return 0;
}
int search(int* A, int size, int x) {
int i;
for (i = 0; i < size; i++) {
if (A[i] == x)
return i;
}
return -1;
}
10.
#include <stdio.h>
void get_gcd_lcm(int x, int y, int* gcd, int* lcm);
int main(void) {
int x, y, g, l;
printf("두개의 정수를 입력하시오: ");
scanf("%d %d", &x, &y);
get_gcd_lcm(x, y, &g, &l);
printf("최소공배수는 %d입니다.\n", l);
printf("최대공약수는 %d입니다.\n", g);
return 0;
}
void get_gcd_lcm(int org_x, int org_y, int* gcd, int* lcm) {
int x = org_x;
int y = org_y;
int tmp;
while (y != 0) {
tmp = y;
y = x % y;
x = tmp;
}
*gcd = x;
*lcm = org_x * org_y / *gcd;
}
11.
void merge(int left, int mid, int right) {
int i, j, k, l;
i = left;
j = mid + 1;
k = left;
while (i <= mid && j <= right) {
if (list[i] <= list[j])
sorted[k++] = list[i++];
else
sorted[k++] = list[j++];
}
if (i > mid)
for (l = j; l <= right; l++)
sorted[k++] = list[l];
else
for (l = i; l <= mid; l++)
sorted[k++] = list[l];
for (l = left; l <= right; l++)
list[l] = sorted[l];
}
댓글
댓글 쓰기