도전 프로그래밍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

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

 

윤성우 열혈C 328pg문제. 

프로그램 사용자로부터 10진수 형태로 정수를 하나 입력 받은 다음, 이를 2진수로 변환해서 출력하는 프로그램을 작성해보자. 

 

#include <stdio.h>

/*
도전 프로그래밍2 - 열혈C 328pg
*/

int Conversion(int input, int *result)
{
	int size=0;
	while (input != 0)
	{
		result[size] = input % 2;
		input = input / 2;
		size++;
	}
	return size;
}

void Print(int *result, int size)
{
	while (size >= 0)
	{
		printf("%d", result[size]);
		size--;
	}
}

int main()
{
	int input = 0;
	int size = 0;
	int result[100];

	printf("10진수 정수 입력:");
	scanf("%d", &input);
	
	size = Conversion(input, result);
	Print(result, size-1);
	return 0;
}

 

728x90

+ Recent posts