[C언어] *로 삼각형(피라미드) 역삼각형 출력하는 방법

ET의 공부/C언어|2020. 8. 3. 20:14

안녕하세요.

이번 포스팅은 별문자(*)로 삼각형을 출력하는 방법에 대해 알아보겠습니다.

 

1.직삼각형(계단모양) 출력방법

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
int main()
{
    int i, j,n;
    scanf("%d",&n);
    for(i = 0; i < n; i++)
    {
        for(j = 0; j <= i; j++)
        {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

 

2.역직각삼각형(역계단형) 출력 방법 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
int main()
{
    int i, j, n;
    scanf("%d",&n);
    
    for(i = n; i >= 1--i)
    {
        for(j = 1; j <= i; ++j)
        {
            printf("* "); //시인성을 위해"* "<-공백추가..
        }
        printf("\n");
    }
    
    return 0;
}
 

 

 

3.정삼각형(피라미드) 출력 방법

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
int main()
{
    int i, j, n, k = 0;
    scanf("%d",&n);
    
    for(i = 1; i <= n; ++i, k = 0)
    {
        for(j = 1; j <= n-i; ++j)
        {
            printf(" ");
        }
        
        while(k != 2 * i-1)
        {
            printf("*");
            ++k;
        }
        
        printf("\n");
    }
    
    return 0;
}

 

4.역정삼각형(역피라미드) 출력 방법

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
int main()
{
    int i, j, n;
    scanf("%d",&n);
    
    for(i=n; i>=1--i)
    {
        for(j=0; j < n-i; ++j)
            printf(" ");
        
        for(j=i; j <= 2*i-1++j)
            printf("*");
        
        for(j=0; j < i-1++j)
            printf("*");
        
        printf("\n");
    }
    
    return 0;
}
 

 

감사합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글()