ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • c언어 과제(숫자야구)
    전공/c언어 2019. 6. 2. 14:03
    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
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    #define MAX 10
     
    void s_b(int *str, int *b, int ans[], int gue[]);
     
    int main() {
        int num[3= { 0 };
        int guess[3];
        char start;
        int i;
        int strike;
        int ball;
        srand(time(NULL));
        printf("스트라이크 볼 게임 하시겠습니까? (Y/N)\n");
        scanf_s("%c"&start);
        while (start != 'N') {
            for (int i = 0; i < 3; i++
                num[i] = rand() % MAX;
            while (num[0== 0 || num[0== num[1|| num[0== num[2|| num[1== num[2]) {
                for (i = 0; i < 3; i++) {
                    num[i] = rand() % MAX;
                }
            }
            printf("정답은 = %d%d%d\n", num[0], num[1], num[2]);
            while (1) {
                printf("숫자 세 개를 입력하시오.\n");
                for (i = 0; i < 3; i++)
                    scanf_s("%d"&guess[i]);
                s_b(&strike, &ball, num, guess);
                if (strike == 3) {
                    printf("Congratulation!\n");
                    break;
                }
                else
                    printf("%d스트라이크, %d볼입니다.\n", strike, ball);
     
            }
            printf("스트라이크 볼 게임 하시겠습니까? (Y/N)\n");
            scanf_s("%c"&start);
        }
    }
     
    void s_b(int *str, int *b,  int ans[], int gue[]){
        *str= 0;
        *= 0;
        for (int i = 0; i < 3; i++) {
            if (ans[i] == gue[i])
                *str++;
        }
        if (ans[0== gue[1|| ans[0== gue[2])
            *b++;
        if (ans[1== gue[0|| ans[1== gue[2])
            *b++;
        if (ans[2== gue[0|| ans[2== gue[1])
            *b++;
    }
    http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5; text-decoration:none">Colored by Color Scripter
    http://colorscripter.com/info#e" target="_blank" style="text-decoration:none; color:white">cs

    코드를 짰는데 생각대로 절대 안된다. 

    왜 그럴까

     

    찾았다 ㅎㅎ 연산자 우선순위를 일단 안 따졌다. 머엉청하게 음 값을 넣어서 확인해보자 아님 그 중간중간에 printf를 끼어 넣어서 코딩해보던지 

     

     

    댓글

Designed by Tistory.