Home > Study > C Language > C task > [ex30] 입력받은 수 까지 짝수와 3의 배수를 제외한 숫자 인쇄

[ex30] 입력받은 수 까지 짝수와 3의 배수를 제외한 숫자 인쇄
Study Language

문제 설명


for loop을 이용하여 다음과 같은 함수를 설계하라.

  • 1부터 넘어온 숫자까지 사이에 존재하는 짝수와 3의 배수를 제외한 숫자를 인쇄한다.
  • 인쇄는 한 줄에 9개의 숫자를 인쇄하며 숫자당 최대 3자리를 차지하도록 한다.
  • 리턴은 없고 함수명은 임의로 하되 입력 받을 수 있는 최대값은 999 까지이다.

  • 값 하나를 인쇄하는 printf는 다음 코드를 사용한다
printf("%3d ", i);

입력 설명


숫자 1개를 입력 받는다. 입력 받을 수 있는 최대값은 999이다.

출력 설명


값을 출력 예시와 같이 출력한다.

입력 예시


121

출력 예시


  1   5   7  11  13  17  19  23  25 
 29  31  35  37  41  43  47  49  53 
 55  59  61  65  67  71  73  77  79 
 83  85  89  91  95  97 101 103 107 
109 113 115 119 121 

정답 코드


#include <stdio.h>

void func(int num)
{
	int i;
	int cnt = 0;

	for (i = 1; i <= num; i++)
	{
		if ((i % 2 != 0) && (i % 3 != 0))
		{
			printf("%3d ", i);
			cnt++;
		}
		if (cnt == 9)
		{
			printf("\n");
			cnt = 0;
		}
	}
}

void main(void)
{
	int n;

	scanf("%d", &n);
	func(n);
}

메모


printf 내부의 \n 습관화 필요