ENDIANS문제 관련 입출력에 관해서 질문드립니다.

  • jiukc2
    jiukc2

    int main (int argc, char* argv[])
    {
    unsigned int num;
    unsigned int temp;
    unsigned char e = 0;
    unsigned int final = 0;

    int count = 24;
    
    scanf ("%d", &num);     ----------------->//입력
    temp = num;
    
    do
    {
       count -= 8;
       e = temp;
       temp = temp >> 8;
    
       final = final|e;
       final = final << 8;
    
    }while (count > 0);
    
    printf ("%d\n", final); ------------------->//출력
    return 0;

    }

    제가 세번이나 제출해서 모두 오답처리된 코드입니다 (ENDIANS). 참고로 C언어로 작성하였습니다. 혹시나 해서 질문드리는데, 입력과 출력부분에 문제가 있는지요? 예를들어, 제가 무슨 입출력 관련된 규칙이 있는데 그것을 지키지 않았다던가 등등.... 아니면, 알고리즘자체의 문제가 되겠지요.

    아시는분 답변 부탁드립니다.


    9년 전
5개의 댓글이 있습니다.
  • JongMan
    JongMan

    모든 문제에는 입력이 여러 개 주어집니다. 프로그램 한 번 수행해서 이 입력들을 다 처리하셔야 합니다.

    int cases, input;
    scanf("%d", &cases);
    while(cases--) {
      scanf("%d", &input);
      printf("%d\n", process(input));
    }
    

    대략 이런 식이 되겠죠.


    9년 전 link
  • JongMan
    JongMan

    (거의) 모든 문제라고 해야겠네요. 아닌 문제도 있어서.. (처음 푸신 MERCY도 그렇고요.)


    9년 전 link
  • jiukc2
    jiukc2

    죄송합니다만, 좀 더 자세히 설명이 가능할까요?
    며칠전에 가입한 완전 왕초보라서 모르는거 투성입니다...


    9년 전 link
  • Being
    Being

    The first line of the input file will contain the number of test cases, C (1 ≤ C ≤ 10, 000).

    문제에 써 있듯 파일 하나에 여러 개의 "테스트 케이스"가 주어집니다. 테스트 케이스 수는 첫 줄에 주어지므로 그 수를 먼저 읽어야겠죠.

    결과적으로 "예제 입력"에 나온 5줄을 입력했을 때 "예제 출력"에 나온 4줄이 출력되어야 정상입니다.


    9년 전 link
  • jiukc2
    jiukc2

    넵. 드디어 알것 같군요. 계속 해봐야 되겠습니다.
    감사합니다.


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