본문 바로가기
PRACTICE/Basic

[C] 이중 for문, if문을 활용한 별찍기

by 1005 2020. 7. 16.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//1 직각삼각형
 
#include <stdio.h>
 
int main() {
 
    int line, i, j;
 
    printf("줄 입력: ");
    scanf("%d"&line);
 
    for (i = 0; i < line; i++) {
        for (j = 0; j <= i; j++) { //줄 수 만큼 해당 줄에 별 찍기
            printf(" * ");
        }
        printf("\n");
    }
 
    return 0;
}
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//2 직각삼각형
 
#include <stdio.h>
 
int main() {
 
    int line,i, j;
 
    printf("줄 입력: ");
    scanf("%d"&line);
 
    for (i = 0; i <line; i++) {
        for (j = 0; j < line-i; j++) { //첫째줄에 line에 저장된 수 만큼 별 찍고 
                                      //줄이 증가할 수록 별을 하나씩 줄여 찍기
                printf(" * ");
        }
        printf("\n");
    }
 
    return 0;
}
 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//3 직각삼각형
 
#include <stdio.h>
 
int main() {
 
    int line, i, j, k;
 
    printf("줄 입력: ");
    scanf("%d"&line);
 
    for (i = 0; i <line; i++) {
        for (j = 0; j < line -i; j++) { //첫째줄에 line에 저장된 수만큼 공백을 입력
            printf("   ");
        }
        for (k = 0; k <= i; k++) { //줄 수 만큼 해당 줄에 별 찍기
            printf(" * ");
        }
        printf("\n");
    }
 
    return 0;
}
 
 
 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//4 직각삼각형
 
#include <stdio.h>
 
int main() {
 
    int line, i, j, k;
 
    printf("줄 입력: ");
    scanf("%d"&line);
 
    for (i = 0; i <line; i++) {
        for (j = 0; j <= i; j++) { //줄 수 만큼 해당 줄에 공백 찍기
            printf("   ");
        }
        for (k = 0; k <= line-j; k++) { //첫째줄에 line에 저장된 수 만큼 별 찍고 
                                       //줄이 증가할 수록 별을 하나씩 줄여 찍기
            printf(" * ");
        }
        printf("\n");
    }
 
    return 0;
}
 
 
 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//5 구멍난 정사각형
 
#include <stdio.h>
 
int main() {
 
    int line, i, j;
 
    while (1) {
        printf("줄 입력: ");
        scanf("%d"&line);
        if (line < 3) { //3줄 이상부터 가운데 공백을 만들 수 있기 때문에 제한을 둠.
            printf("3줄 이상 입력해주세요. \n");
            continue;
        }
 
        for (i = 0; i < line; i++) {
            for (j = 0; j < line; j++) {
                if ((i > 0 && i <= line - 2) && (j > 0 && j <= line - 2)) {
                    printf("   ");
                }
                else {
                    printf(" * ");
                }
            }
            printf("\n");
        }
        break;
    }
 
    return 0;
}
 
 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//6 X자 표시
 
#include <stdio.h>
 
int main() {
 
    int line, i, j;
 
    printf("줄 입력: ");
    scanf("%d"&line);
 
    for (i = 0; i < line; i++) {
        for (j = 0; j <line; j++) {
            if (i==|| (line-1)==i+j) {
                printf(" * ");
            }
            else {
                printf("   ");
            }
        }
        printf("\n");
    }
 
    return 0;
}
 
 
 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//7 이등변삼각형
 
#include <stdio.h>
 
int main() {
 
    int line, i, j, k;
    int num = 0;
 
    printf("줄 입력: ");
    scanf("%d"&line);
 
    for (i = 0; i < line; i++) {
        for (j = 0; j < line - i; j++) { //첫째줄에 line에 저장된 수만큼 공백을 입력
            printf("   ");
        }
        for (k = 0; k <= i+num; k++) {
            printf(" * ");
        }
        num++//줄 수가 증가할 수록 찍는 별의 개수가 증가함.
        printf("\n");
    }
 
    return 0;
}

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
 
int main() {
 
    int line, i, j, k;
 
    printf("줄 입력: ");
    scanf("%d"&line);
 
    for (i = 1; i <=line; i++) {
        for (j = 1; j <= line - i; j++) { 
            printf("   ");
        }
        for (k = 1; k <= 2*i-1; k++) { //줄이 늘어날 때 별의 개수가 홀수(2n-1)로 늘어남.
            printf(" * ");
        }
        printf("\n");
    }
 
    return 0;
}
 

 

댓글