C, C++

11 : c/c++ 강좌 "배열 2"

알 수 없는 사용자 2022. 2. 7. 11:04
728x90
반응형

오늘은 지난 시간에 이어 배열을 알아보도록 하겠습니다. 우선 배열에 초기 값을 넣는 법을

간단하게 한번 보겠습니다. 우선 배열을 초기화 하는 방법은  int arr[5] = {0}; 입니다.

이런 식으로 하면 0번째 1번째 ... 4번째 까지 모든 값이 0으로 초기화 됩니다.

이런 식으로 값을 초기화 하면 출력시 이상한 값이 나올 일이 없습니다. 이와 마찬가지로

0 외의 다른 숫자를 넣어도 배열의 선언 개수보다 적으면   차례대로 대입이 되기 때문에

나머지 값 역시 초기값이 들어갑니다. 그리고 만약에 배열을 arr[5] = {1,2,3,4,5} 이런 식으로

하면 배열에 값이 순차적으로 대입 됩니다. 그리고 오늘의 가장 중요한 내용중 하나인

while 문을 이용 해서 배열의 값을 입력받는 방법을 알아 보도록 하겠습니다. 우선 간단하게

코드를 작성 해 보겠습니다.

#include <stdio.h>

int main()
{
    int arr[10] = {0};
    int i,num;

    while(1)
    {
        scanf("%d", &num);
        if(num == 0) break;
        arr[num % 10]++;
    }

    for(int i=0;i<10;i++)
    {
        if(arr[i]>0)
        {
            printf("%d : %d\n",i,arr[i]);
        }
    }

    return 0;
}

한번 이 코드를 살펴 보겠습니다. 우선 10 자리 까지 입력 받을수 있는 배열을 

생성 했습니다. 그리고 그 배열을 0으로 초기화 한 후, while 문을 이용해서 

입력을 받았습니다. while 문에서 0이 입력 될 시 break; 를 걸어 주어 

1 2 3 4 5 ... 하다가 0이 입력 되면 출력 단계로 넘어 갑니다. for 문으로

출력을 담당 하게 했는데 for 문에서는 지난 시간에 배운 내용을 응용 해서 

결과값을 출력 합니다. 

'C, C++' 카테고리의 다른 글

13 : c/c++ 강좌 "함수 2"  (0) 2022.02.11
12 : c/c++ 강좌 "함수 1"  (0) 2022.02.08
10 : c/c++ 강좌 "배열 1"  (4) 2022.01.21
9 : c/c++ 강좌 "반복제어문 3"  (0) 2022.01.19
8 : c/c++ 강좌 "반복제어문 2"  (0) 2022.01.17