ここで,時間や分が1桁のときには10の位に0を補って表示するものとし,12時間 制の時刻表示として午前はamを,午後はpmをつけて表示するものとする.
My student number: s114099 Start time ---- 10:45 am 436 minutes (7 h 16 m) passed. Present time -- 06:01 pm ----------------------------------- | |
/* ************************************************** */ /* */ /* 情報科学演習 C6 C7 */ /* レポート課題 */ /* 2011.11.21 */ /* */ /* ************************************************** */ /* */ /* 学生番号: */ /* */ /* 氏名: */ /* */ /* ************************************************** */ /* */ /* この行以降に解答のプログラムを書くこと */ #include <stdio.h> #include <stdlib.h> #include <time.h> main() { srand((unsigned) time(NULL)); int h, m, add, tmp1, tmp2, h2, m2, h3, m3, h4; h = rand() % 12; m = rand() % 60; add = rand() % 300 + 301; printf("My student number: s114099\n\n"); printf("Start time ---- "); if(h<10) printf("0"); printf("%d:", h); if(m<10) printf("0"); printf("%d am\n", m); tmp1 = add / 60; tmp2 = add % 60; printf("%d minutes (%d h %d m) passed.\n", add, tmp1, tmp2); h2 = h + tmp1; m2 = m + tmp2; if(m2>=60){ h3 = h2 + 1; m3 = m2 % 60; } else{ h3 = h2; m3 = m2; } if(h3>=12) h4 = h3 - 12; else h4 = h3; printf("Present time -- "); if(h4<10) printf("0"); printf("%d:", h4); if(m3<10) printf("0"); printf("%d", m3); if(h3>=12) printf(" pm\n"); else printf(" am\n"); printf("\n-----------------------------------\n\n"); return(0); } |