도전 프로그래밍2 - 5번문제

 

 

배열에 저장되어 있는 요소들을 내림차순으로 정렬하는 함수 DesSort를 정의하자. 

그리고 이 함수를 호출하는 예제를 작성해보자.

 

일단 길이가 7인 int형 배열을 선언해서 프로그램 사용자로부터 7개의 정수를 입력 받도록 하자. 

 

그리고 입력 받은 정수를 내림차순으로 정렬하기 위해서, 배열을 인자로 전달하면서 DesSort 함수를 호출하고,

제대로 정렬이 되었는지 확인하기 위해 배열의 요소들을 순서대로 출력해보자. 

#include <stdio.h>
/*
도전 프로그래밍2 - 열혈C 333pg
*/

void DesSort(int *arr);
void Print(int *arr);

int target[7];
int len = sizeof(target) / sizeof(int);		//len==7

void DesSort(int *arr)
{
	int temp, i, j;
	for (j = 0; j < len - 1; j++)
	{
		for (i = 0; i < len - 1; i++)
		{
			if (arr[i] < arr[i + 1])
			{	//자리교환 
				temp = arr[i];
				arr[i] = arr[i + 1];
				arr[i + 1] = temp;
			}
		}
	}
}
void Print(int *arr)
{
	int i = 0;
	for (i; i < len; i++)
	{
		printf("%d ", arr[i]);
	}
	printf("\n");
}
int main()
{

	int i;
	//정수 7개 입력받기 
	for (i = 0; i < 7; i++)
	{
		scanf("%d", &target[i]);
	}

	DesSort(target);
	Print(target);
	return 0;
}

 

728x90

도전 프로그래밍2 - 3번문제

 

 

길이가 10인 배열을 선언하고 총 10개의 정수를 입력받는다. 

단, 입력 받은 숫자가 홀수이면 배열의 앞에서부터 채워나가고, 짝수이면 뒤에서부터 채워나가는 형식을 취하기로 하자. 

 

따라서 사용자가 [1,2,3,4,5,6,7,8,9,10]을 입력했다면, 

배열에는 [1,3,5,7,9,10,8,6,4,2]의 순으로 저장이 되어야 한다. 

 

#include <stdio.h>
/*
도전 프로그래밍2 - 열혈C 329pg
*/

int main()
{
	int arr[10];
	int i;
	int result[10] = { 0, };
	
	//10개 입력받기 
	for (i = 0; i < 10; i++)
	{
		scanf("%d", &arr[i]);
	}

	//홀수는 result의 앞 부터 저장 
	for (i = 0; i < 10; i++)
	{
		if (arr[i] % 2 == 1) 
		{
			result[i] = arr[i];
			printf("%d ", result[i]);
		}
	}
	//짝수는 result의 뒤 부터 저장 
	for (i = 9; i >=0; i--)
	{
		if (arr[i] % 2 == 0) 
		{
			result[i] = arr[i];
			printf("%d ", result[i]);
		}
	}
	return 0;
}

 

728x90

+ Recent posts