문제
삼각형의 높이 N을 입력받아 아래와 같은 모양을 출력하는 프로그램을 작성하시오.
입력
삼각형의 높이 N(N의 범위는 100 이하의 양의 홀수)을 입력받는다.
출력
N의 높이에 맞추어 주어진 형태의 모양을 출력한다.
입력된 데이터가 주어진 범위를 벗어나면 "INPUT ERROR!"를 출력한다.
예제 입력
7
예제 출력
*
***
*****
*******
*****
***
*
<입력 설계>
삼각형의 높이 N(N의 범위는 100 이하의 양의 홀수)을 입력받는다.
입력된 데이터가 주어진 범위를 벗어날 경우 설계를 해 둔다.
int N;
scanf("%d", &N);
if (N < 1 || N > 100 || N % 2 == 0)
{
printf("INPUT ERROR!\n");
return 0;
}
<출력 설계>
1) 위쪽 삼각형 출력
for (int i = 0; i < N / 2 + 1; i++)
{
for (int j = 0; j < i; j++)
{
printf(" ");
}
for (int j = 0; j < 2 * i + 1; j++)
{
printf("*");
}
printf("\n");
}
2) 아래쪽 삼각형 출력
for (int i = N / 2 - 1; i >= 0; i--)
{
for (int j = 0; j < i; j++)
{
printf(" ");
}
for (int j = 0; j < 2 * i + 1; j++)
{
printf("*");
}
printf("\n");
}
제출답변
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int N;
scanf("%d", &N);
if (N < 1 || N > 100 || N % 2 == 0) {
printf("INPUT ERROR!\n");
return 0;
}
// 위쪽 삼각형 출력
for (int i = 0; i < N / 2 + 1; i++) {
for (int j = 0; j < i; j++) {
printf(" ");
}
for (int j = 0; j < 2 * i + 1; j++) {
printf("*");
}
printf("\n");
}
// 아래쪽 삼각형 출력
for (int i = N / 2 - 1; i >= 0; i--) {
for (int j = 0; j < i; j++) {
printf(" ");
}
for (int j = 0; j < 2 * i + 1; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
'Algorithm > Jungol (도형만들기2)' 카테고리의 다른 글
[5397] 달팽이사각형 (reserved) (0) | 2023.10.17 |
---|---|
[1707] 달팽이 사각형 (0) | 2023.10.17 |
[1641] 숫자삼각형 (0) | 2023.10.17 |
[1719] 별삼각형2 (0) | 2023.10.17 |
[1523] 별삼각형1 (0) | 2023.10.17 |