[C言語伯俊]2884目覚まし時計

1292 ワード

時計2883番


1.質問


:45分前にアラートを設定

2.入力


:1行目は2つの整数HとMを与える.(0 ≤ H ≤ 23, 0 ≤ M ≤ 59)
24時間の表現では、1日の始まりは0:0(真夜中)、終わりは23:59(翌日の真夜中の1分前).

3.出力


:設定が必要なアラート時間を出力

私の出した答え

c
#include<stdio.h>

int main(void) {
	int a, b;
	scanf("%d", &a);
	scanf("%d", &b);

	if (a >= 1 && a <= 23) {
		if(b>=0&&b<=44)
			printf("%d %d", a - 1, b + 15);
		else if (b >= 45 && b <= 59) 
			printf("%d %d", a, b- 45);
		}
	else if(a==0) {
		if (b >= 0 && b <= 44)
			printf("%d %d", 23, b + 15);
		else if (b >= 45 && b <= 59)
			printf("%d %d", 0, b - 45);
		}
    return 0;
}

Hour:<1または23以下>,<0>切断


0の場合は-1ではなく23で表すべきだからです.

Minute:0未満または44未満、45未満または59未満


44まで15を足しても60を超えないが、45から60を超え、45を引く方向に分離しなければならない.

💡 私が逃した部分


Minuteが0以上44以下の場合、HOUR値-1とする必要はありませんが、これは無視されます.だから、私は多くの間違いに出会って、何度も、何度も状況に遭遇しました.
正解すると易しい問題もあれば、難しい問題もあるので、確実に練習できます.今から見れば、6日後にC言語中間試験が行われる.さようなら