/* 田中 C言語 演習3 */
#include <stdio.h>
/* main関数の定義 */
int main(void)
{
int a, b; //自然数a,b
int a1, a2, b1, b2; //自然数a,bにおける「時」と「分」
int tomorrow(int A1,int A2, int B1, int B2); //bが翌日の時刻の場合に使用する関数
int x, y; //解答 x=時間、y=分
/* 自然数a,b(時刻)の標準入力 */
printf("時刻を入力してください。(24時間表記で、0から2400の範囲内)\n");
printf("時刻を入力してください。(24時間表記で、0から2400の範囲内)\n");
/* 自然数a,b(時刻)を「時」と「分」に分割 */
a1 = a / 100;
a2 = a - a1 * 100;
b1 = b / 100;
b2 = b - b1 * 100;
if( a1 < 0 || a1 > 24 || b1 < 0 || b1 > 24 || a2 < 0 || a2 > 60 || b2 < 0 || b2 > 60){
return 1;
}
/* 入力した時刻の確認 */
printf("%d時%d分と%d時%d分が入力した時刻です。\n", a1
, a2
, b1
, b2
);
/* bが翌日の時刻であるか判断を行い、当日同士の場合に時間差を計算 */
if(b1 < a1) {
printf("%d時%d分は翌日の時刻として扱います。\n", b1
, b2
); b1 += 24;
}
else if(a1 == b1 && b2 < a2){
printf("%d時%d分は翌日の時刻として扱います。\n", b1
, b2
); b1 += 24;
}
x = b1 - a1;
y = b2 - a2;
if(a2 > b2){
x -= 1; //分の計算で繰り下げが発生する場合の対応
y += 60; //分の計算で繰り下げが発生する場合の対応
}
printf("時刻の差は%d時間%d分です。\n", x
, y
);
return 0;
}
Ci8qIOeUsOS4rSBD6KiA6KqeIOa8lOe/kjMgKi8KCiNpbmNsdWRlIDxzdGRpby5oPgoKLyogbWFpbumWouaVsOOBruWumue+qSAqLwppbnQgbWFpbih2b2lkKQp7CglpbnQgYSwgYjsJCQkJCQkJCQkJLy/oh6rnhLbmlbBhLGIKCWludCBhMSwgYTIsIGIxLCBiMjsJCQkJCQkJCS8v6Ieq54S25pWwYSxi44Gr44GK44GR44KL44CM5pmC44CN44Go44CM5YiG44CNCglpbnQgdG9tb3Jyb3coaW50IEExLGludCBBMiwgaW50IEIxLCBpbnQgQjIpOwkvL2LjgYznv4zml6Xjga7mmYLliLvjga7loLTlkIjjgavkvb/nlKjjgZnjgovplqLmlbAKCWludCB4LCB5OwkJCQkJCQkJCQkvL+ino+etlCB4PeaZgumWk+OAgXk95YiGCgoKLyog6Ieq54S25pWwYSxiKOaZguWIuynjga7mqJnmupblhaXlipsgKi8KCXByaW50Zigi5pmC5Yi744KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GE44CCKDI05pmC6ZaT6KGo6KiY44Gn44CBMOOBi+OCiTI0MDDjga7nr4Tlm7LlhoUpXG4iKTsKCXNjYW5mKCIlZCIsICZhKTsKCglwcmludGYoIuaZguWIu+OCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhOOAgigyNOaZgumWk+ihqOiomOOBp+OAgTDjgYvjgokyNDAw44Gu56+E5Zuy5YaFKVxuIik7CglzY2FuZigiJWQiLCAmYik7CgovKiDoh6rnhLbmlbBhLGIo5pmC5Yi7KeOCkuOAjOaZguOAjeOBqOOAjOWIhuOAjeOBq+WIhuWJsiAqLwoJYTEgPSBhIC8gMTAwOwoJYTIgPSBhIC0gYTEgKiAxMDA7CgliMSA9IGIgLyAxMDA7CgliMiA9IGIgLSBiMSAqIDEwMDsKCQoJaWYoIGExIDwgMCB8fCBhMSA+IDI0IHx8IGIxIDwgMCB8fCBiMSA+IDI0IHx8IGEyIDwgMCB8fCBhMiA+IDYwIHx8IGIyIDwgMCB8fCBiMiA+IDYwKXsKCQlwcmludGYoIuato+OBl+OBj+aZguWIu+OCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhFxuIik7CgkJcmV0dXJuIDE7Cgl9CgoKLyog5YWl5Yqb44GX44Gf5pmC5Yi744Gu56K66KqNICovCglwcmludGYoIiVk5pmCJWTliIbjgaglZOaZgiVk5YiG44GM5YWl5Yqb44GX44Gf5pmC5Yi744Gn44GZ44CCXG4iLCBhMSwgYTIsIGIxLCBiMik7CgoKLyogYuOBjOe/jOaXpeOBruaZguWIu+OBp+OBguOCi+OBi+WIpOaWreOCkuihjOOBhOOAgeW9k+aXpeWQjOWjq+OBruWgtOWQiOOBq+aZgumWk+W3ruOCkuioiOeulyAqLwoJaWYoYjEgPCBhMSkgewoJCXByaW50ZigiJWTmmYIlZOWIhuOBr+e/jOaXpeOBruaZguWIu+OBqOOBl+OBpuaJseOBhOOBvuOBmeOAglxuIiwgYjEsIGIyKTsKCQliMSArPSAyNDsKCX0KCWVsc2UgaWYoYTEgPT0gYjEgJiYgYjIgPCBhMil7CgkJCXByaW50ZigiJWTmmYIlZOWIhuOBr+e/jOaXpeOBruaZguWIu+OBqOOBl+OBpuaJseOBhOOBvuOBmeOAglxuIiwgYjEsIGIyKTsKCQliMSArPSAyNDsKCX0KCXggPSBiMSAtIGExOwoJeSA9IGIyIC0gYTI7CglpZihhMiA+IGIyKXsKCQl4IC09IDE7CQkvL+WIhuOBruioiOeul+OBp+e5sOOCiuS4i+OBkuOBjOeZuueUn+OBmeOCi+WgtOWQiOOBruWvvuW/nAoJCXkgKz0gNjA7CS8v5YiG44Gu6KiI566X44Gn57mw44KK5LiL44GS44GM55m655Sf44GZ44KL5aC05ZCI44Gu5a++5b+cCgl9CgkJcHJpbnRmKCLmmYLliLvjga7lt67jga8lZOaZgumWkyVk5YiG44Gn44GZ44CCXG4iLCB4LCB5KTsKCglyZXR1cm4gMDsKfQ==