/* 田中 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;
/* 入力した時刻の確認 */
printf("%d時%d分と%d時%d分が入力した時刻です。\n", a1
, a2
, b1
, b2
);
/* bが翌日の時刻であるか判断を行い、当日同士の場合に時間差を計算 */
if(b1 < a1){
tomorrow (a1, a2, b1, b2);
}
else if(a1 = a2 && b2 > a2){
tomorrow (a1, a2, b1, b2);
}
else{
x = b1 - a1;
y = b2 - a2;
if(a2 > b2){
x -= 1; //分の計算で繰り下げが発生する場合の対応
y += 60; //分の計算で繰り下げが発生する場合の対応
}
printf("時刻の差は%d時間%d分です。\n", x
, y
); }
return 0;
}
/* b<a(bが翌日の時刻を表す)の場合の計算 */
int tomorrow (int A1,int A2, int B1, int B2)
{
int x, y; //解答 x=時間、y=分
printf("%d時%d分は翌日の時刻として扱います。\n", B1
, B2
); x = (24 - A1) + B1;
y = (60 - A2) + B2;
if(A2 > B2) //分の計算で繰り下げが発生する場合の対応
x -= 1;
printf("時刻の差は%d時間%d分です。\n", x
, y
); return 0;
}
Ci8qIOeUsOS4rSBD6KiA6KqeIOa8lOe/kjMgKi8KCiNpbmNsdWRlIDxzdGRpby5oPgoKLyogbWFpbumWouaVsOOBruWumue+qSAqLwppbnQgbWFpbih2b2lkKQp7CglpbnQgYSwgYjsJCQkJCQkJCQkJLy/oh6rnhLbmlbBhLGIKCWludCBhMSwgYTIsIGIxLCBiMjsJCQkJCQkJCS8v6Ieq54S25pWwYSxi44Gr44GK44GR44KL44CM5pmC44CN44Go44CM5YiG44CNCglpbnQgdG9tb3Jyb3coaW50IEExLGludCBBMiwgaW50IEIxLCBpbnQgQjIpOwkvL2LjgYznv4zml6Xjga7mmYLliLvjga7loLTlkIjjgavkvb/nlKjjgZnjgovplqLmlbAKCWludCB4LCB5OwkJCQkJCQkJCQkvL+ino+etlCB4PeaZgumWk+OAgXk95YiGCgoKLyog6Ieq54S25pWwYSxiKOaZguWIuynjga7mqJnmupblhaXlipsgKi8KCXByaW50Zigi5pmC5Yi744KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GE44CCKDI05pmC6ZaT6KGo6KiY44Gn44CBMOOBi+OCiTI0MDDjga7nr4Tlm7LlhoUpXG4iKTsKCXNjYW5mKCIlZCIsICZhKTsKCglwcmludGYoIuaZguWIu+OCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhOOAgigyNOaZgumWk+ihqOiomOOBp+OAgTDjgYvjgokyNDAw44Gu56+E5Zuy5YaFKVxuIik7CglzY2FuZigiJWQiLCAmYik7CgovKiDoh6rnhLbmlbBhLGIo5pmC5Yi7KeOCkuOAjOaZguOAjeOBqOOAjOWIhuOAjeOBq+WIhuWJsiAqLwoJYTEgPSBhIC8gMTAwOwoJYTIgPSBhIC0gYTEgKiAxMDA7CgliMSA9IGIgLyAxMDA7CgliMiA9IGIgLSBiMSAqIDEwMDsKCgovKiDlhaXlipvjgZfjgZ/mmYLliLvjga7norroqo0gKi8KCXByaW50ZigiJWTmmYIlZOWIhuOBqCVk5pmCJWTliIbjgYzlhaXlipvjgZfjgZ/mmYLliLvjgafjgZnjgIJcbiIsIGExLCBhMiwgYjEsIGIyKTsKCgovKiBi44GM57+M5pel44Gu5pmC5Yi744Gn44GC44KL44GL5Yik5pat44KS6KGM44GE44CB5b2T5pel5ZCM5aOr44Gu5aC05ZCI44Gr5pmC6ZaT5beu44KS6KiI566XICovCglpZihiMSA8IGExKXsKCQl0b21vcnJvdyAoYTEsIGEyLCBiMSwgYjIpOwoJfQoJZWxzZSBpZihhMSA9IGEyICYmIGIyID4gYTIpewoJCXRvbW9ycm93IChhMSwgYTIsIGIxLCBiMik7Cgl9CgllbHNlewoJCQkJcHJpbnRmKCJhMeOBryVk44Gn44GZ44CCXG4iLCBhMSk7CgkJeCA9IGIxIC0gYTE7CgkJeSA9IGIyIC0gYTI7CgkJaWYoYTIgPiBiMil7CgkJCXggLT0gMTsJCS8v5YiG44Gu6KiI566X44Gn57mw44KK5LiL44GS44GM55m655Sf44GZ44KL5aC05ZCI44Gu5a++5b+cCgkJCXkgKz0gNjA7CS8v5YiG44Gu6KiI566X44Gn57mw44KK5LiL44GS44GM55m655Sf44GZ44KL5aC05ZCI44Gu5a++5b+cCgkJfQoJCXByaW50Zigi5pmC5Yi744Gu5beu44GvJWTmmYLplpMlZOWIhuOBp+OBmeOAglxuIiwgeCwgeSk7Cgl9CgoJcmV0dXJuIDA7Cn0KCi8qIGI8YShi44GM57+M5pel44Gu5pmC5Yi744KS6KGo44GZKeOBruWgtOWQiOOBruioiOeulyAqLwoJaW50IHRvbW9ycm93IChpbnQgQTEsaW50IEEyLCBpbnQgQjEsIGludCBCMikKCXsKCQlpbnQgeCwgeTsJCS8v6Kej562UIHg95pmC6ZaT44CBeT3liIYKCQlwcmludGYoIiVk5pmCJWTliIbjga/nv4zml6Xjga7mmYLliLvjgajjgZfjgabmibHjgYTjgb7jgZnjgIJcbiIsIEIxLCBCMik7CgkJeCA9ICgyNCAtIEExKSArIEIxOwoJCXkgPSAoNjAgLSBBMikgKyBCMjsKCQlpZihBMiA+IEIyKQkJLy/liIbjga7oqIjnrpfjgafnubDjgorkuIvjgZLjgYznmbrnlJ/jgZnjgovloLTlkIjjga7lr77lv5wKCQkJeCAtPSAxOwoJCXByaW50Zigi5pmC5Yi744Gu5beu44GvJWTmmYLplpMlZOWIhuOBp+OBmeOAglxuIiwgeCwgeSk7CgkJcmV0dXJuIDA7Cgl9