djsejfka2488   2년 전

여러번 고쳐봤는데 더이상 틀린부분을 못찾겠습니다 ㅜㅜ..

dbshin59   2년 전

a가 0이 아니고 b가 45일 때 출력이 아무것도 없습니다.

jangsh43   2년 전

if
else 를 사용하실때는 문제가 생길부분을 if로 잡으시고 나머지를 else로 잡는게 더 효율적인것 같습니다.

b가 45보다 작을경우 시침이 달라지기에 이부분을 if로 잡고 들어갑니다.

int a{};

int b{};

scanf("%d %d",&a,&b);

if (b < 45)
{
  b = 60 - (45 - b);
  a -= 1;  // 위조건은 시침이 무조건 달라지기때문에 시침에서 1을빼줍니다.
  if (a < 0) 
  a = 23; //만약 시침이 0보다 작아진다면 시침을 23으로 바꿉니다.
}
else // 분침이 45보다 큰경우 분침만 빼줍니다.
b = b - 45;

printf("%d %d", a, b);

댓글을 작성하려면 로그인해야 합니다.