본문 바로가기
C/기말고사 대비(2022 1학기)

[C언어 시험대비] 2020년 기말고사 기출

by Meaning_ 2022. 6. 11.
728x90
반응형

(나)

 

 

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include<stdio.h>
#include<limits.h>
 
 
void printStar(int low, int num) {
    if (num == 1) {
        
        for (int i = low; i>=1; i-=2) {
            int k = (low - i)/2;
            for (int j = 1; j <= k; j++) {
                printf(" ");
            }
            for (int j = 1; j <= i; j++) {
                printf("*");
            }
            printf("\n");
        }
    }
    else {
        for (int i = low; i >= 1; i -= 2) {
            int k = (low - i) / 2;
            for (int j = 1; j <= k; j++) {
                printf(" ");
            }
            for (int j = 1; j <= i; j++) {
                printf("*");
            }
            printf("\n");
        }
        
        for (int i = 3; i <= low; i += 2) {
            int k = (low - i) / 2;
            for (int j = 1; j <= k; j++) {
                printf(" ");
            }
            for (int j = 1; j <= i; j++) {
                printf("*");
            }
            printf("\n");
        }
    }
 
}
 
int main() {
 
    //1
    char name[100];
    printf("이름을 입력하세요 ");
    scanf_s("%[^\n]s", name,100);
 
    printf("내 이름은 %s입니다.\n", name);
 
    //2
    printf("별의 개수를 입력하세요.");
    int num;
    while (true) {
        scanf_s("%d"&num);
        if (num >0 && num % 2 == 1) {//짝수일때 
            break;
        }
        else {
            printf("홀수를 입력하세요.\n");
        }
    }
 
    printf("입력한 별의 개수는 %d입니다.\n",num);
 
 
    //3
    printf("별삼각형 개수를 입력하세요 ");
    int star;
    while (true) {
        scanf_s("%d"&star);
        if (star == 1 || star == 2) {
            break;
        }
        else {
            printf("개수는 1개 또는 2이어야 합니다.\n");
        }
    }
 
    printf("입력한 삼각형의 개수는 %d개입니다.\n", star);
 
    //4
    printStar(num, star);
}
 
 
 
 
 
cs

 

(다)

 

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include<stdio.h>
#include<limits.h>
 
 
void reverseStar(int n) {
 
    for(int i = n; i>=1; i -= 2) {
        int t = (n - i) / 2;
        for (int j = 1; j <= t; j++) {
            printf(" ");
        }
        for (int j = 1; j <= i; j++) {
            printf("*");
        }
        for (int j = 1; j <= t; j++) {
            printf(" ");
        }
        printf("\n");
 
    }
}
 
void butterfly(int n) {
 
    for (int i = 1; i <= n / 2; i++) {
        for (int j = 1; j <= i; j++) {
            printf("*");
 
        }
        int t = n - (2 * i);
        for (int j = 1; j <= t; j++) {
            printf(" ");
        }
        for (int j = 1; j <= i; j++) {
            printf("*");
        }
        printf("\n");
    }
    for (int i = 1; i <= n; i++) {
        printf("*");
    }
    printf("\n");
    for (int i = n/2; i >=1; i--) {
        int t = n - (2 * i);
        for (int j = 1; j <= i; j++) {
            printf("*");
        }
        for (int j = 1; j <= t; j++) {
            printf(" ");
        }
        for (int j = 1; j <= i; j++) {
            printf("*");
        }
        printf("\n");
    }
 
}
 
int main() {
 
    //1
    char name[100];
    printf("이름을 입력하세요 ");
    scanf_s("%[^\n]s", name,100);
 
    printf("내 이름은 %s입니다.\n", name);
 
    //2
    printf("별의 개수를 입력하세요.");
    int num;
    while (true) {
        scanf_s("%d"&num);
        if (num >0 && num % 2 == 1) {//짝수일때 
            break;
        }
        else {
            printf("홀수를 입력하세요.\n");
        }
    }
 
    printf("입력한 별의 개수는 %d입니다.\n",num);
 
 
    //3
    reverseStar(num);
    
    printf("\n");
 
    //4
    butterfly(num);
 
}
 
 
 
 
 
cs
728x90
반응형

댓글