ZZULIOJ.1095:間隔(マルチインスタンステスト)
3744 ワード
1095:間隔(マルチインスタンステスト)
タイトルの説明
キーボードから2つのポイント(24時間制)を入力し、2つのポイント間の時間間隔を出力します.時間間隔は「時間:分:秒」で表します.要求プログラムは以下の2つの関数を定義し、main()でこの2つの関数を呼び出して対応する機能を実現し、main関数システムはすでに実現されており、次の2つの関数の定義を完了する必要があります.
int HmsToS(int h,int m,int s)/3つのパラメータはそれぞれ1つの時点を表す時、分、秒である
//時分秒を秒に変換して返します.
void PrintTime(int s);//パラメータsは1つの時間帯の長さを表し、単位は秒{//時間帯を対応する「時間:分:秒」形式に変換して出力する}
C/C++コードのコミットについては、この問題はHmsToS関数とPrintTime関数の定義部分をコミットするだけで、そうでなければコンパイルエラーをコミットします.
入力入力データは複数組あります.各入力グループには2行が含まれています.第1の動作時点1、第2の動作時点2は、いずれも「HH:MM:SS」形式で入力される.テストデータは、時点1が時点2より早いことを保証します.
出力は各グループのデータに対応し、1行の出力があり、「HH:MM:SS」形式で時間間隔を出力する.注意2桁未満はプレースホルダ0を補う必要があります.フォーマットは入出力を参照してください.
サンプル入力12:01:12 13:09:43 12:40:12 13:09:43
サンプル出力01:08:31 00:29:31ヒント注意:01:08:31のプレースホルダ0を出力するにはprintfのフォーマットコントロールは“%02 d”を使用します
#include
int HmsToS(int h,int m,int s)
{
int j;
j=h*3600+m*60+s;//
return j;
}
void PrintTime(int s)
{
int h,m,i;
h=s/3600;
m=s%3600/60;
i=s%3600%60;//
printf("%02d:%02d:%02d
",h,m,i);
}
/*int main()
{
int a,b,c,x,y,z,t,d,i;
scanf("%d:%d:%d",&x,&y,&z);
t=HmsToS(x,y,z);
while((scanf("%d:%d:%d",&a,&b,&c))!=EOF)
{
d=HmsToS(a,b,c);
i=d-t;
PrintTime(i);
t=d;
}
return 0;
}*/