문제
입력
출력
정사각형의 한 변의 길이 n을 입력받은 후 다음과 같은 문자로 된 정사각형 형태로 출력하는 프로그램을 작성하시오.
< 처리조건 >
문자의 진행 순서는 왼쪽 위에서부터 아래쪽으로 ‘A'부터 차례대로 채워나가고
다시 오른쪽 아래부터 위쪽으로 채워나가는 방법으로 아래 표와 같이 채워 넣는다.
'Z' 다음에는 다시 'A'부터 반복된다.
정사각형 한 변의 길이 n(n의 범위는 1이상 100 이하의 정수)을 입력받는다.
위의 형식과 같이 한변의 길이가 n인 문자 사각형을 출력한다. 문자 사이는 공백으로 구분하여 출력한다.
예제 입력
4
예제 출력
A H I P
B G J O
C F K N
D E L M
<입력의 설계>
- char 형 으로 바꿔주고 방식은 숫자 문제랑 비슷하게 처리하였다.
<출력의 설계>
- 지그제그 형식이기 때문에 짝수 홀수줄에 따라 배열에 순서대로 ++ 을 하는 방식으로 지정된 값이 입력될 수 있게 하였다.
- 이전 문자 문제와 같은 형식으로, 기본 i, j를 활용한 출력에서 행과 열만 바꾸어 주었다.
제출답변
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int n;
int i, j;
char ch = 'A';
int arr[100][100] = { 0 };
scanf("%d", &n);
if (n <= 100 && n > 0)
{
for (j = 0; j < n; j++)
{
if (j % 2 == 0)
{
for (i = 0; i < n; i++)
{
arr[i][j] = ch++;
if (ch > 'Z') ch = 'A';
}
}
else
{
for (i = n - 1; i >= 0; i--)
{
arr[i][j] = ch++;
if (ch > 'Z') ch = 'A';
}
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
printf("%c ", arr[i][j]);
}
printf("\n");
}
}
return 0;
}
'Algorithm > Jungol (도형만들기1)' 카테고리의 다른 글
[1339] 문자삼각형2 (0) | 2023.09.12 |
---|---|
[1338] 문자삼각형1 (0) | 2023.09.12 |
[1307] 문자사각형1 (0) | 2023.09.12 |
[2046] 숫자사각형4 (0) | 2023.09.12 |
[1304] 숫자사각형3 (0) | 2023.09.12 |