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; }*/