728x90
반응형
문제 : http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=2069&sca=2010
문제
사각형의 높이 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
반응형
최근댓글