Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어 배열 산술 연산 완벽 가이드: 덧셈부터 나머지 연산까지

배열(Array)이란?

배열은 서로 관련된 데이터 항목들을 하나의 이름으로 묶어 저장하는 자료구조입니다. 여러 개의 변수를 따로 선언하는 대신, 하나의 배열 이름으로 동일한 타입의 데이터를 효율적으로 관리할 수 있습니다.

예를 들어 다음과 같이 선언할 수 있습니다:

int student[30]; // student는 하나의 변수 이름으로 30개의 데이터 항목을 담는 배열입니다

배열의 주요 연산

  • 탐색(Searching) − 특정 요소가 배열 안에 존재하는지 확인하는 연산입니다.

  • 정렬(Sorting) − 배열의 요소들을 오름차순 또는 내림차순으로 정렬하는 데 사용됩니다.

  • 순회(Traversing) − 배열의 모든 요소를 처음부터 끝까지 순서대로 처리합니다.

  • 삽입(Inserting) − 배열에 새로운 요소를 추가하는 연산입니다.

  • 삭제(Deleting) − 배열에서 특정 요소를 제거하는 연산입니다.

배열 산술 연산의 기본 로직

두 배열 A와 B의 같은 인덱스에 있는 요소끼리 산술 연산을 수행하려면 반복문을 활용하면 됩니다. 핵심 로직은 다음과 같습니다:

for(i = 0; i < size; i++){
    add [i] = A[i] + B[i];
    sub [i] = A[i] - B[i];
    mul [i] = A[i] * B[i];
    div [i] = A[i] / B[i];
    mod [i] = A[i] % B[i];
}

반복문이 인덱스 0부터 size-1까지 순회하면서 각 위치에서 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산을 한 번에 계산합니다. 나눗셈 결과의 소수점 이하 값을 표현하기 위해 몫을 저장하는 div 배열은 float형으로 선언해야 합니다.

C 언어 전체 프로그램

다음은 사용자로부터 두 배열을 입력받아 다섯 가지 산술 연산을 수행하고 그 결과를 표 형태로 출력하는 완전한 C 프로그램입니다:

#include<stdio.h>
int main(){
    int size, i, A[50], B[50];
    int add[10], sub[10], mul[10], mod[10];
    float div[10];
    printf("enter array size:\n");
    scanf("%d", &size);
    printf("enter elements of 1st array:\n");
    for(i = 0; i < size; i++){
        scanf("%d", &A[i]);
    }
    printf("enter the elements of 2nd array:\n");
    for(i = 0; i < size; i++){
        scanf("%d", &B[i]);
    }
    for(i = 0; i < size; i++){
        add [i] = A[i] + B[i];
        sub [i] = A[i] - B[i];
        mul [i] = A[i] * B[i];
        div [i] = A[i] / B[i];
        mod [i] = A[i] % B[i];
    }
    printf("\n add\t sub\t Mul\t Div\t Mod\n");
    printf("------------------------------------\n");
    for(i = 0; i < size; i++){
        printf("\n%d\t ", add[i]);
        printf("%d \t ", sub[i]);
        printf("%d \t ", mul[i]);
        printf("%.2f\t ", div[i]);
        printf("%d \t ", mod[i]);
    }
    return 0;
}

실행 결과

위 프로그램을 컴파일하고 실행하면 다음과 같은 결과를 확인할 수 있습니다:

Run 1:
enter array size:
2
enter elements of 1st array:
23
45
enter the elements of 2nd array:
67
89
add     sub     Mul     Div     Mod
------------------------------------
90      -44     1541    0.00    23
134     -44     4005    0.00    45
Run 2:
enter array size:
4
enter elements of 1st array:
89
23
12
56
enter the elements of 2nd array:
2
4
7
8
add   sub Mul   Div   Mod
------------------------------------
91   87   178   44.00   1
27   19   92    5.00    3
19   5    84    1.00    5
64   48   448   7.00    0

주의 사항

나눗셈(div)과 나머지(mod) 연산을 수행할 때 두 번째 배열의 값이 0이면 런타임 오류가 발생할 수 있으므로, 실제 프로젝트에서는 0으로 나누는 경우를 미리 검사하는 것이 좋습니다. 또한 배열 크기(size)가 선언된 배열의 최대 크기를 초과하지 않도록 입력값을 검증하는 것도 안전한 코드 작성의 중요한 습관입니다.