배열 계산 수행 (합계, 최대값 등)
이 단계에서는 C 프로그래밍에서 배열에 대한 다양한 계산을 수행하는 방법을 배우게 됩니다. 최대값과 최소값 찾기, 합계, 평균 계산, 배열 요소에 수학적 변환 적용과 같은 기술을 탐구할 것입니다.
배열 계산을 연습하기 위해 새로운 C 파일을 만들어 보겠습니다.
cd ~/project
touch array_calculations.c
이제 다양한 배열 계산 기술을 보여주는 프로그램을 작성해 보겠습니다.
#include <stdio.h>
#include <limits.h>
int main() {
// 판매 데이터의 배열을 선언하고 초기화합니다.
int sales[7] = {1200, 1500, 980, 1750, 1100, 1300, 1600};
// 총 판매액 계산
int total_sales = 0;
for (int i = 0; i < 7; i++) {
total_sales += sales[i];
}
printf("Total Weekly Sales: $%d\n", total_sales);
// 평균 판매액 계산
float average_sales = (float)total_sales / 7;
printf("Average Daily Sales: $%.2f\n", average_sales);
// 최대 판매액 찾기
int max_sales = sales[0]; // 첫 번째 요소로 시작
for (int i = 1; i < 7; i++) {
if (sales[i] > max_sales) {
max_sales = sales[i];
}
}
printf("Highest Daily Sales: $%d\n", max_sales);
// 최소 판매액 찾기
int min_sales = sales[0]; // 첫 번째 요소로 시작
for (int i = 1; i < 7; i++) {
if (sales[i] < min_sales) {
min_sales = sales[i];
}
}
printf("Lowest Daily Sales: $%d\n", min_sales);
// 백분율 증가 적용
float increase_percentage = 1.1; // 10% 증가
printf("\nSales After 10%% Increase:\n");
for (int i = 0; i < 7; i++) {
float increased_sale = sales[i] * increase_percentage;
printf("Day %d: $%.2f\n", i + 1, increased_sale);
}
return 0;
}
프로그램을 컴파일하고 실행합니다.
gcc array_calculations.c -o array_calculations
./array_calculations
예시 출력:
Total Weekly Sales: $9430
Average Daily Sales: $1347.14
Highest Daily Sales: $1750
Lowest Daily Sales: $980
Sales After 10% Increase:
Day 1: $1320.00
Day 2: $1650.00
Day 3: $1078.00
Day 4: $1925.00
Day 5: $1210.00
Day 6: $1430.00
Day 7: $1760.00
주요 배열 계산 기술:
-
총 계산
- 루프를 사용하여 모든 배열 요소를 합산합니다.
- 별도의 변수에 값을 누적합니다.
- 총 합계를 찾는 데 유용합니다.
-
평균 계산
- 총 합계를 요소 수로 나눕니다.
- 부동 소수점 정밀도를 위해 유형 캐스팅을 사용합니다.
- 배열 요소의 평균값을 제공합니다.
-
최대/최소값 찾기
- 첫 번째 배열 요소로 초기화합니다.
- 각 후속 요소를 비교합니다.
- 새로운 극값이 발견되면 최대/최소값을 업데이트합니다.
-
요소별 변환
- 각 요소에 수학적 연산을 적용합니다.
- 특정 규칙에 따라 배열 값을 수정할 수 있습니다.
- 데이터의 스케일링, 조정 또는 변환에 유용합니다.
중요한 계산 원칙:
- 항상 배열 범위를 고려합니다.
- 적절한 데이터 유형을 사용합니다.
- 정수 나눗셈에 주의합니다.
- 계산 전에 누산기 변수를 초기화합니다.