문제

정사각형의 한 변의 길이 n과 종류 m을 입력받은 후 다음과 같은 정사각형 형태로 출력하는 프로그램을 작성하시오.

 

< 처리조건 >
종류 2번의 경우 숫자의 진행 순서는 처음에 왼쪽에서 오른쪽으로 너비 n만큼 진행 한 후 방향을 바꾸어서 이를 반복한다.

 

 

 

입력형식

정사각형 한 변의 길이 n(n의 범위는 100 이하의 정수)과 종류 m(m은 1부터 3사이의 정수)을 입력받는다.

 

출력형식

위에서 언급한 3가지 종류를 입력에서 한 변의 길이 n과 종류 m에 맞춰서 출력한다. 숫자 사이는 공백으로 구분하여 출력한다.

 

<코드>

#include <stdio.h>

void first(int n)
{
	for(int i=1; i<=n; i++)
	{
		for(int j=0; j<n; j++)
			printf("%d ", i);
		
		printf("\n");
	}
}

void second(int n)
{
	for(int i=0; i<n; i++)
	{
		if(i%2)
		{
			for(int j=n; j>0; j--)
				printf("%d ", j);
		}
		else
		{
			for(int j=1; j<=n; j++)
				printf("%d ", j);
		}
		printf("\n");
	}
}

void third(int n)
{
	for(int i=1; i<=n; i++)
	{
		for(int j=i; j<=i*n; j+=i)
			printf("%d ", j);
		
		printf("\n");
	}
}

int main()
{
	int n, m;
	
	scanf("%d %d", &n, &m);
	
	switch(m)
	{
		case 1:
			first(n);
			break;
		case 2:
			second(n);
			break;
		case 3:
			third(n);
			break;
	}
	
	return 0;
}

'코딩 > Beginner Coder' 카테고리의 다른 글

1314 : 문자사각형2  (0) 2020.05.05
1307 : 문자사각형1  (0) 2020.05.05
1304 : 숫자사각형3  (0) 2020.05.03
1856 : 숫자사각형2  (0) 2020.05.03
1303 : 숫자사각형1  (0) 2020.05.03

+ Recent posts