728x90
반응형

문제 : http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=2069&sca=2010

 

JUNGOL

 

www.jungol.co.kr

문제

사각형의 높이 n과 너비 m을 입력받은 후 

n행 m열의 사각형 형태로 1부터 n*m번까지 숫자가 차례대로 출력되는 프로그램을 작성하시오.

 

< 처리조건 >
숫자의 진행 순서는 처음에 맨 윗줄의 왼쪽에서 오른쪽으로 1부터 차례대로 너비 m만큼 출력한 후 

다음 줄로 바꾸어서 다시 왼쪽에서 오른쪽으로 1씩 증가하면서 출력하는 방법으로 n번 줄까지 반복한다.

 

입력형식

사각형의 높이n와 너비m( n과 m의 범위는 100 이하의 정수)이 주어진다.

 

출력형식

위에서 형태의 직사각형을 입력에서 들어온 높이 n과 너비 m에 맞춰서 출력한다. 숫자 사이는 공백으로 구분한다.

 

 

입력 예

4 5

출력 예

1 2 3 4 5  
6 7 8 9 10 
11 12 13 14 15  
16 17 18 19 20

 

 

Hint!

<알아두기>

반복문을 이용한 출력 일반적으로 일정한 수들의 집합을 행렬과 같은 사각형 형태로 출력하려면 반복문을 이용해서 간단하게 처리할 수 있다. 

 

<코드>

 

1

2

3

4

5

6

for (i =0; i < n; i++) {

    for (j = 0; j < m; j++) {

        printf("%d ", num++);

    }

    printf(" ");

}

cs

 

 

<코드분석> 

01 : 바깥에 있는 i가 행(줄)을 나타내며 

02 : 행이 결정이 되면 각 행마다 m열(칸)만큼 반복하여 

03 : 숫자를 출력하고 

05 : 줄을 바꾸는 작업을 n번 반복한다. 

이렇게 간단한 숫자들로 이루어진 사각형은 이중 for문을 이용해서 간단하게 출력할 수 있다.

 

 

 

코드 : 

# include <stdio.h>

int main()
{
	int n,m,i,j,num=1;
	
	while(1)
	{
		scanf("%d %d",&n,&m);
		
		if(n<=100 && m <=100)
			break;
		printf("INPUT ERROR!\n");
	}
	
	for(i = 1; i<=n; i++)
	{
		for(j = 1; j<=m; j++)
		{
			printf("%d ",num++);
		}
		printf("\n");
	}
	
	
	
	return 0;
}
728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기