a가 0이 아니고 b가 45일 때 출력이 아무것도 없습니다.
2884번 - 알람 시계
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);
댓글을 작성하려면 로그인해야 합니다.
djsejfka2488 2년 전
여러번 고쳐봤는데 더이상 틀린부분을 못찾겠습니다 ㅜㅜ..