카테고리 없음

[C] TEST-7

root_go 2022. 10. 6. 09:08

(C/C++프로그래밍 과제_7) 포인터 연산

조건)

(1)입력은 반복문 사용, 0이 입력될 때까지 입력된 정수들에 대하여 배열에 저장한다.

(2)포인터 연산을 사용하여 입력받은 값에 x10 하여 값을 변경시킨다.

(예, 1->10, 5->50, 10->100 으로 값 변경)

(3)오름 차순으로 선택정렬하여 낮은값부터 출력

(4)사용자 함수를 사용하여 메인함수는 최소한의 함수호출부로 코딩.

(5)입력받은 값에 x10 값은 배열에 반영되지만 최종 출력값(오름차순 정렬)은 배열에 반영 안됨.

실행결과>

입력 값 : 2 3 10 4 5 6 9 8 7 1

출력 값 : 10 20 30 40 50 60 70 80 90 100

#include<iostream>

void mul(int* p) { // 10배 해주는 함수
	*p *= 10;
}

void sort(int p[]) { // 오름차순 정렬 함수
	int temp;
	int arr[10] = { 0 };

	for (int i = 0; i < 10; i++) {
		arr[i] = p[i];
	}
	for (int i = 0; i < 10; i++) {
		for (int j = i + 1; j < 10; j++) {
			if (arr[i] > arr[j]) {
				temp = arr[i];
				arr[i] = arr[j];
				arr[j] = temp;
			}
		}
	}
	for (int i = 0; i < 10; i++)
	printf("%d ", arr[i]);
}
	
int main(void) {
	int arr[10];
	printf("입력 값 : ");
	for (int i = 0; i < 10; i++) {
		scanf_s("%d", &arr[i]);
		mul(&arr[i]);		
	}
	printf("출력 값 : ");
	sort(arr);
	return 0;
}