C C++ language
C언어 배열의 순서 바꿔서 출력하기 (with source)
KMS studio
2021. 5. 8. 13:00
읽어주셔서 감사합니다.
오늘은 배열을 입력받은 뒤, 입력받은 배열을 거꾸로 출력하는 방법을 알아보겠습니다.
이러한 프로그램을 구현하는 방법은 상당히 여러개가 존재하는데, 오늘은 대표적인 두 가지 방법으로 구현할 예정입니다.
코드1
이 코드는 배열의 순서 자체를 바꾸는 코드입니다.
2번째로 나올 코드보다 조금 복잡한 코드이죠.
추가적으로 이 코드는 n이 100초과면 제대로 작동하지 않는데, 만약 n이 100 이상일때로 작동하는 코드를 원한다면, 아래 접은 글을 펴보시면 적절한 코드가 나올 겁니다. 아니면 arr대괄호 안의 수를 자신이 원하는 만큼 늘려도 됩니다.
더보기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int n, c;
int * arr;
scanf("%d", &n);
arr = (int*)malloc(sizeof(int) * n);
for (int i = 0; i < n; i++) { //arr에 n개의 값을 입력받음
scanf("%d", &arr[i]); // &arr[i] = arr + i로 대체 가능
}
for (int i = 0; i < n / 2; i++) { //arr의 순서를 반대로 바꿈
c = arr[i];
arr[i] = arr[n - 1 - i];
arr[n - 1 - i] = c;
}
for (int i = 0; i < n; i++) { //arr을 출력
printf("%d ", arr[i]);
}
return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void) {
int n, c;
int arr[100];
scanf("%d", &n);
for (int i = 0; i < n; i++) { //arr에 n개의 값을 입력받음
scanf("%d", &arr[i]); // &arr[i] = arr + i로 대체 가능
}
for (int i = 0; i < n / 2; i++) { //arr의 순서를 반대로 바꿈
c = arr[i];
arr[i] = arr[n - 1 - i];
arr[n - 1 - i] = c;
}
for (int i = 0; i < n; i++) { //arr을 출력
printf("%d ", arr[i]);
}
return 0;
}
코드2
이 코드는 배열을 거꾸로 출력하는 코드입니다.
첫 번째 코드보다는 꽤나 간단하다는 장점이 있으나, 배열이 근본적으로는 여전히 거꾸로 바뀌지 않은 것이 단점이죠.
마찬가지로 n이 100이하일때만 작동하고, 이를 해결하기 위해서는 아래 접은 글 속에 있는 소스를 사용하셔도 되고, arr대괄호 속의 수를 원하는 만큼 늘려 적어주셔도 됩니다.
더보기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int n, c;
int* arr;
scanf("%d", &n);
arr = (int*)malloc(sizeof(int) * n);
for (int i = 0; i < n; i++) { //arr에 n개의 값을 입력받음
scanf("%d", &arr[i]); // &arr[i] = arr + i로 대체 가능
}
for (int i = n - 1; i >= 0; i--) { //arr을 거꾸로 출력
printf("%d ", arr[i]);
}
return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void) {
int n, c;
int arr[100];
scanf("%d", &n);
for (int i = 0; i < n; i++) { //arr에 n개의 값을 입력받음
scanf("%d", &arr[i]); // &arr[i] = arr + i로 대체 가능
}
for (int i = n - 1; i >= 0; i--) { //arr을 거꾸로 출력
printf("%d ", arr[i]);
}
return 0;
}
사용방법
입력1 : 배열의 원소 개수
입력2 : 배열의 원소들
출력 : 입력한 배열의 원소들을 거꾸로 출력
종료 : 출력후 종료