C언어/예제

[C] array 내부에서 사용자가 지정한 요소끼리 swap하는 프로그램

thpop 2024. 11. 16. 12:45
반응형

 

array 내부에서 사용자가 입력한 요소끼리 서로 swap을 하여 출력하는 프로그램을 만들어볼 것이다.

 

주어지는 array는 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}이다.

 

기대하는 출력 결과는 아래와 같다.

1 5
0 1 2 3 4 5 6 7 8 9 
0 5 2 3 4 1 6 7 8 9
4 9
0 1 2 3 4 5 6 7 8 9 
0 1 2 3 9 5 6 7 8 4

 

즉  "사용자가 두 요소를 입력 → 기존 문자열과 swap 후의 문자열을 출력"

하는 것이 목표이다.

 

프로그램은 아래와 같다.

#include <stdio.h>
#define SIZE 10

int main() {
	int x,y;
	scanf("%d %d", &x, &y);
	int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
	for (int i = 0; i < SIZE; i++) {
		printf("%d ", arr[i]);
	}
	printf("\n");
	int k = arr[x];
	arr[x]=arr[y];
	arr[y]=k;
	for (int i = 0; i < SIZE; i++) {
		printf("%d ", arr[i]);
	}

	return 0;
}

 

 

작동 원리는 간단하다. array를 설정 후, for문을 이용해 출력해준 뒤, 아래 구문을 이용해 swap을 한 후, 다시 for문으로 출력하는 것이다.

int k = arr[x];
arr[x]=arr[y];
arr[y]=k;

 

반응형