728x90
반응형
문제 : http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=609&sca=2020
문제
삼각형의 높이 N을 입력받아서 아래와 같이 숫자 0부터 달팽이 모양으로 차례대로 채워진 삼각형을 출력하는 프로그램을 작성하시오.
< 처리조건 >
왼쪽 위부터 시계방향으로 오른쪽 아래로 이동하면서 숫자 0부터 N개를 채우고
다시 왼쪽으로, 다음은 위쪽으로 반복하면서 채워 나간다. (숫자 9 다음에는 0부터 다시 시작한다.)
입력형식
삼각형의 한변의 길이 N(N의 범위는 100 이하의 양의 정수)을 입력받는다.
출력형식
주어진 형태대로 높이가 N인 달팽이 삼각형을 출력한다. 숫자 사이는 한 개의 공백으로 구분한다.
입력 예
6
출력 예
0
4 1
3 5 2
2 0 6 3
1 9 8 7 4
0 9 8 7 6 5
코드 :
# include <stdio.h>
int main()
{
int n,m,i,j,count=0;
int arr[100][100];
int x=-1,y=-1;
scanf("%d",&n);
if(n > 100 || n<1)
{
printf("INPUT ERROR!");
return 0;
}
for(i = 0; i<n; i++)
{
for(j = i; j<n; j++)
{
if(i%3 == 0)
{
x++;
y++;
}
else if(i%3 == 1)
{
y--;
}
else if(i%3 == 2)
{
x--;
}
arr[x][y] = (count++)%10;
}
}
for(i = 0; i<n; i++)
{
for(j = 0; j<=i; j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}
728x90
반응형
최근댓글