01. 다음과 같이 배열 arr[10]에 데이터가 있다. print_array(), compute_avg(), find_max(), find_min() 함수는 각각 배열을 출력, 평균값을 계산해서 return, 배열의 최대값과 최소값을 구해서 return 하는 함수들이다. 함수들을 완성하여 화면과 같이 출력되도록 하시오.

#include <stdio.h>
void print_array(int arr[], int n) {
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
double compute_avg(int arr[], int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += arr[i];
}
return (double)sum / n;
}
int find_max(int arr[], int n) {
int max = arr[0];
for (int i = 1; i < n; i++) {
if (max < arr[i])
max = arr[i];
}
return max;
}
int find_min(int arr[], int n) {
int min = arr[0];
for (int i = 1; i < n; i++) {
if (min > arr[i])
min = arr[i];
}
return min;
}
void main() {
int arr[10] = { 10, 30, 5, 20, 44, 3, 100, 88, 9, 101 };
print_array(arr, 10);
printf("평균 = %lf\n", compute_avg(arr, 10));
printf("최대 = %d\n", find_max(arr, 10));
printf("최소 = %d\n", find_min(arr, 10));
}
02. 프로그램에서처럼 구조체를 선언하여 N개의 점들의 좌표가 주어졌다. 그 점들을 둘러싸는 최소 크기의 사각형의 두 점 좌표 P1, P2를 구하고 사각형의 면적을 구하는 프로그램을 완성하시오.
(주의1) print_point() 함수는 좌표를 출력하는 함수이다. 화면과 main()에서 호출하는 형식을 참조할 것.
(주의2) main() 부분은 주어진 변수만을 이용하여 프로그램 할 것. (변수 추가하지 말 것)

#include <stdio.h>
#define N 4
#define ABS(x) (((x)>0)?(x): -(x))
struct Point {
int x;
int y;
};
void print_point(struct Point *p)
{
printf("(%d, %d)", (*p).x, p->y);
}
void main()
{
struct Point p[N] = { {1,2}, {6, 1}, {3,4}, {4,5} };
struct Point P1, P2;
int area; // 면적
int i;
for (i = 0; i < N; i++) {
printf("p[%d] =", i);
print_point(&p[i]);
printf("\n");
}
P1.x = p[0].x;
P1.y = p[0].y;
P2.x = p[0].x;
P2.y = p[0].y;
for (int i = 1; i < N; i++) {
if (P1.x > p[i].x)
P1.x = p[i].x;
else if (P2.x < p[i].x)
P2.x = p[i].x;
if (P1.y > p[i].y)
P1.y = p[i].y;
else if (P2.y < p[i].y)
P2.y = p[i].y;
}
printf("P1="); print_point(&P1);
printf(" P2="); print_point(&P2);
area = (P2.x - P1.x) * (P2.y - P1.y);
printf(" 면적=%d\n", area);
}
'프로그래밍랩' 카테고리의 다른 글
프로그래밍랩 10-11 주차 (0) | 2024.11.08 |
---|---|
프로그래밍랩 9주차 (0) | 2024.11.07 |
[프로그래밍 랩] C언어 복습 문제 5 (0) | 2024.10.25 |
[프로그래밍 랩] C언어 복습 문제 3 (0) | 2024.10.18 |
[프로그래밍 랩] C언어 복습 문제 1 (0) | 2024.10.18 |