URI 문제에서 저의 문제점은 무엇인지 알 수 있을까요?

  • hoooooyj
    hoooooyj

    URI 문제에서 저의 문제점은 무엇일까요?
    %2528 => %28
    %2525 => %25
    %2520 => %20
    으로 나오는데 제출하면 오답이라고 뜨네요...
    소스는 아래와 같은데, 문제가 무엇인지 알려주실 수 있나요?ㅠ_ㅠ

    #include <stdio.h>
    char uri[81];
    //FILE *file1;
    int main(void)
    {
        int i,j,k;
        int Test_case=0;
        //file1 = fopen("input.txt","r+");
        scanf("%d", &Test_case);
    
        for( i = 1; i<=Test_case; i++)
        {
            scanf("%s",&uri);
            j = 0;
    
            while(uri[j] != 0)
            {
                if((uri[j] == '%')&&(uri[j+1] == '2'))
                {
                    if(uri[j+2] == '0') 
                    {
                        uri[j] =' ';
                        k = j+1;
                        while(uri[k] !=0)
                        {
                            uri[k++] = uri[k+2];
                        }
    
    
                    }
                    else if( uri[j+2] == '1')
                    {
                        uri[j] = '!';
                        k = j+1;
                        while(uri[k] !=0)
                        {
                            uri[k++] = uri[k+2];
                        }
    
    
                    }
                    else if( uri[j+2] == '4')
                    {
                        uri[j] = '$';
                        k = j+1;
                        while(uri[k] !=0)
                        {
                            uri[k++] = uri[k+2];
                        }
    
                    }
                    else if( uri[j+2] == '5')
                    {
                        uri[j] ='%';
                        k = j+1;
                        while(uri[k] !=0)
                        {
                            uri[k++] = uri[k+2];
                        }
    
                    }
                    else if( uri[j+2] == '8')
                    {
                        uri[j] ='(';
                        k = j+1;
                        while(uri[k] !=0)
                        {
                            uri[k++] = uri[k+2];
                        }   
                    }
                    else if( uri[j+2] == '9')
                    {
                        uri[j] =')';
                        k = j+1;
                        while(uri[k] !=0)
                        {
                            uri[k++] = uri[k+2];
                        }   
                    }
                    else if( uri[j+2] == 'a')
                    {
                        uri[j] ='*';
                        k = j+1;
                        while(uri[k] !=0)
                        {
                            uri[k++] = uri[k+2];
                        }   
                    }
    
    
    
    
    
                }
    
                j++;
            }
    
    
    
    
            printf("%s\n",uri);
        }
        return 0;
    }
    

    9년 전
1개의 댓글이 있습니다.
  • Kureyo
    Kureyo

    배열 범위 초과해서 참조할거같네요


    9년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.