열대urim 2018. 12. 11. 20:03

<설명>

입력한 순서와 정반대로 정수들을 출력하는 프로그램을 쓰라.

첫번째 입력은 앞으로 입력할 정수들의 개수이다.

두번째 입력은 그 정수들이다.

숫자마다 간격이 있게 하여, 입력된 순서와 반대로 출력한다.


<Input>

첫번째 입력: 1과 10^5 사이의 정수 N

두번째 입력: N개의 정수


<Output>

정수들을 revers order로 출력


<소스코드>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
 
int arr[100005];
 
int main (void)
{
    int N;
    int i;
//N값을 스캔함. 
    scanf("%d",&N);
//정수를 스캔하여 거꾸로 어레이에 저장함. 
    for (i=0; i<N; i++){
        scanf("%d",&arr[N-1-i]);
    }
//이번에는 순서대로 어레이를 출력함. 
    for (i=0; i<N;  i++){
        printf("%d ",arr[i]);
    }
    
    return 0;
}
 
cs


<설명>

N의 값이 얼마가 될 지 모르기 때문에, 처음부터 어레이의 크기를 최대로 하여 선언한다.

N의 값을 입력받기 전에 어레이가 선언되기 때문이다.


arr[N-1-i] : 입력받을 때 역순으로 저장한다. -1인 이유는 어레이는 0부터 시작하기 때문이다.