타임머신 - 컴퓨팅 사고력 101 | 초보자

전산 프로그래밍에 대한 소위 'Zero-to-Hero' 시리즈를 계속해서 오늘 우리는 '진짜' TIME MACHINE을 만들 것입니다.

타임 머신



좋아, 이것은 쉽다. 총 초를 기부하는 양수가 주어지면 총 시간, 분, 초를 찾아야 하고 마지막으로 모두 다음 형식으로 인쇄해야 합니다: hh:mm:ss .

해결책


  • 짐작하셨듯이 사용자의 초 입력을 유지하려면 정수 변수가 필요합니다. totalSeconds를 호출하고 바로 콘솔에서 스캔해 봅시다.

  • int totalSeconds;
    scanf(" %d", &totalSeconds);
    

  • 이제 간단하지만 강력한 알고리즘을 사용하여 totalSeconds 에서 모든 시간을 추출할 수 있습니다. totalSeconds를 3600으로 나누면 됩니다(1h = 3600s).

  • In C language int / int is a floor division (see here).



    추출을 hours라는 변수에 저장합시다!

    int hours = totalSeconds / 3600; // since 1h = 3600s
    

  • 분! 모듈 (%)totalSeconds에 3600으로 적용하기만 하면 됩니다. 이렇게 하면 시간이 추출된 후 몇 초 후에 나머지가 표시됩니다. 결과를 totalSeconds로 재할당하고 구분선만 60으로 변경하는 2단계를 반복합니다(무슨 말인지 아시는 분 ^^).

  • totalSeconds = totalSeconds % 3600; // this will remove all the hours
    int minutes = totalSeconds / 60; // since 1m = 60s
    

  • 나머지 초는 totalSeconds에 모듈로 연산자를 60으로 적용하면 알 수 있습니다(생각해보세요 🤔).

  • int seconds = totalSeconds % 60; // after we remove all the minutes, whatever is left are the remaining seconds
    

    결과를 휴머노이드 형태로 출력해 봅시다!

    printf("%02d:%02d:%02d\n", hours, minutes, seconds);
    // 02 - give me at least 2 cell to print, and fill 0s in empty cells
    

    짜잔, 타임머신!





    여기에서 코드를 라이브로 실행하십시오.





    <시간/>

    저희가 여기서 약속한 code-crime이 마음에 드셨다면 구독하고 subssquad에 가입하세요!

    좋은 웹페이지 즐겨찾기