ch15 도전 프로그래밍2

암영·2022년 6월 6일
0

c언어

목록 보기
18/21

문제

# include <stdio.h>
int main()
{
	int arr[10];
	int i;
	for (i = 0; i < 10; i++)
	{
		printf("입력:");
		scanf_s("%d", &arr[i]);

	}
	showhol(arr);
	printf("\n");
	showzak(arr);
}

int  showhol(int* a) //왜 int로 해야 될까
{
	printf("홀수 출력");
	int i;
	for (i = 0; i < 10; i++)
	{
		if (a[i] % 2 == 1)
			printf("%d ", a[i]);
	}
}

int  showzak(int* a) //왜 int로 해야 될까
{
	printf("짝수 출력");
	int i;
	for (i = 0; i < 10; i++)
	{
		if (a[i] % 2 == 0)
			printf("%d ", a[i]);
	}
}

이렇게 위치를 바꾸면 void 선언이 가능해짐.

# include <stdio.h>

void  showhol(int* a) //왜 int로 해야 될까
{
	printf("홀수 출력");
	int i;
	for (i = 0; i < 10; i++)
	{
		if (a[i] % 2 == 1)
			printf("%d ", a[i]);
	}
}

void  showzak(int* a) //왜 int로 해야 될까
{
	printf("짝수 출력");
	int i;
	for (i = 0; i < 10; i++)
	{
		if (a[i] % 2 == 0)
			printf("%d ", a[i]);
	}
}

int main()
{
	int arr[10];
	int i;
	for (i = 0; i < 10; i++)
	{
		printf("입력:");
		scanf_s("%d", &arr[i]);

	}
	showhol(arr);
	printf("\n");
	showzak(arr);
}

int main()
{
	int num;
	scanf_s("%d", &num);
	int i = 0;
	int arr[50]; //나머지를 저장해놓는 배열
	while (num >=1)
	{
		arr[i]=num % 2;
		num = num / 2;
		i++;
	}
	while (i > 0)
	{	i--;

		printf("%d", arr[i]);
	}
	/*for (i; i > 0; i--)
	{
		printf("%d", arr[i]);
	} 이렇게 하면 왜 답이 안나올까..?*/

	
}
# include <stdio.h>

int main()
{

	int arr[10];
	int i = 0;
	int num;
	int evencount = 9, oddcount = 0;//이렇게 설정해두는게 point
	for (i; i < 10; i++)
	{
		printf("입력");
		scanf_s("%d", &num);
		if (num % 2 == 1)
		{
			arr[oddcount] = num;
			oddcount++;
		}
		else
		{
			arr[evencount] = num;
			evencount--;
		}
	}
	printf("배열요소의 출력: ");
	for (i = 0; i < 10; i++)
	{
		printf("%d ", arr[i]);
	}

	return 0;
}

다른답

int main(void)
{   int i, num;
	int oddCount = 0, evenCount = 9;
    int ary[10] = {0};
    printf("10개의 정수를 입력하세요. : ");
    for(i = 0; i<10; i++)
    {    scanf("%d", &num);
    	switch(num%2){
        case 0 :
        	ary[evenCount] = num;
            evenCount--;
            break;
        case 1 :
        	ary[oddCount] = num;
            oddCount++;
            break;
    	}    
    }
    for(i = 0; i<10; i++)
    	printf("%d ", ary[i]);
    printf("\n");
    return 0;
}

버블정렬(이번 시험!!)

#include <stdio.h>
void BubbleSort(int ary[], int len);
int main()

{
	int arr[4] = { 3,2,4,1 };
	int i;
	BubbleSort(arr, sizeof(arr) / sizeof(int));
	for (i = 0; i < 4; i++)
		printf("%d", arr[i]);
	printf("\n");
	return 0;
	
}
void BubbleSort(int ary[], int len) {
	int i, j;
	int temp;
	for (i = 0; i < len - 1; i++) {
		for (j = 0; j < (len - i) - 1; j++) {
			if (ary[j] > ary[j + 1]) {
				temp = ary[j];
				ary[j] = ary[j + 1];
				ary[j + 1] = temp;


			}
		}
	}

}
profile
just do! -얼레벌레 굴러가는 공대생

0개의 댓글