옜날에 해논건데 보니깐 잇네 수정해서 쓰던가 하세욤

#include <stdio.h>
#include <stdlib.h>

#define MAX 10

/* BOOL Type 정의 */
typedef  int  BOOL;

#define  FALSE  0
#define  TRUE   1
#define  LIMIT 10

/* Element struct 정의 */
typedef struct tagElement
{
        int  Location; // 위치
        char Number;   // 숫자
}Element;

int main()
{
        int i,j;
        int count = LIMIT;               // 입력 제한 횟수
        char    buf      [MAX];          // 정답
        char    Input    [MAX];          // 사용자 입력 답안
        Element Solution [MAX];          // 정답
        Element Challenge[20][MAX];      // 사용자 입력 답안 리스트
        BOOL    L_chk, N_chk;            // 자리,숫자 체크변수( Location check, Number check )
        int     Ball, Strike;            // 볼, 스트라이크
        int     breakpt;                 // 정답을 맞춘 시점

        FILE* fp;

        /* file read */
        fp = fopen(\"baseball.txt\",\"r\");
        if( NULL == fp )
        {
                puts(\"file open error!\");
                return -1;
        }

        fgets( buf, sizeof( buf ), fp );

        for ( i = 0; i < MAX; i++ )
        {
                Solution[i].Number   = buf[i]; // 숫자 저장
                Solution[i].Location = i;  // 위치 저장 ( 0부터 )
        }


        /* game start */
        while( count > 0 ) // count 20 to 1
        {
                Ball = 0;
                Strike = 0;


                printf(\"Input five numbers :\");
                scanf(\"%s\", Input);

                for ( i = 0; i < MAX; i++ )
                {
                        Challenge[count-1][i].Number   = Input[i]; // 숫자 저장
                        Challenge[count-1][i].Location = i;   // 위치 저장 ( 0부터 )

                }

                for ( i = 0; i < MAX; i++ )
                {
                        L_chk = FALSE;
                        N_chk = FALSE;


                        for( j = 0; j < 5;  j++ )
                        {


                                if ( Challenge[count-1][i].Number == Solution[j].Number ) // 해당 숫자가 있는가?
                                {
                                        N_chk = TRUE;


                                        if( Challenge[count-1][i].Location == Solution[j].Location) // 위치도 일치하는가?
                                        {
                                                L_chk = TRUE; 
                                        }        


                                }


                        }

                        if( N_chk == TRUE && L_chk == TRUE ) // 숫자와 위치가 모두 일치하면
                                Strike++; // Strike 증가
                        else if( N_chk == TRUE )             // 숫자만 존재하면
                                Ball++;   // Ball 증가

                }

                printf(\"%d ball, %d strike! \\n\", Ball, Strike ); // 볼, 스트라이크 출력

                if( Strike >= 5 ) // strike 가 5이상이면
                {
                        puts(\"Right!!!\");
                        breakpt = count; // 정답 맞춘 시점 저장
                        break;
                }

                count--; // 입력기회 1 감소
        }

        if( count <= 1) // 못 맞췄다면
        {
                puts(\"You are failed...\");
                puts(\"↓Your input history...↓\");
                for( i = LIMIT-1; i > 0; i-- )
                {
                        for( j = 0; j < 5; j++ )
                        {
                                if( Challenge[i][j].Number == \'\\0\')
                                        break;
                                putchar(Challenge[i][j].Number);
                        }
                        putchar(\'\\n\');
                }
        }
        else // 맞췄다면
        {
                puts(\"↓Your input history...↓\");
                for( i = LIMIT-1; i > breakpt-2; i-- )
                {
                        for( j = 0; j < 5; j++ )
                        {
                                if( Challenge[i][j].Number == \'\\0\')
                                        break;
                                putchar(Challenge[i][j].Number);
                        }
                        putchar(\'\\n\');
                }

        }


        return 0;
}