1026 程式執行時間(四捨五入,round函式)

MokylinJay發表於2020-10-26

題目連結

#include <iostream>
#include <cstdio>
#include <cstring>
#include <stdio.h>
#include <algorithm>
#include <cmath>

using namespace std;

typedef long long LL;
const double CLK_TCK = 100.0;	// 定義CLK_TCK常量

int main()
{
    int c1, c2;
    scanf("%d %d", &c1, &c2);
    int t = round((c2 - c1)/CLK_TCK);	// 通過round函式判斷四捨五入,求出以秒為單位的時間差
    printf("%02d:%02d:%02d\n", t/3600, t%3600/60, t%60);

    return 0;

}

原書答案:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <stdio.h>
#include <algorithm>
#include <cmath>

using namespace std;

typedef long long LL;
const double CLK_TCK = 100.0;

int main()
{
    int c1, c2;
    scanf("%d%d", &c1, &c2);
    int ans = c2 - c1;
    if (ans % 100 >= 50)	// 通過後兩位判斷四捨五入
    {
        ans = ans / 100+1;
    }
    else
    {
        ans = ans / 100;
    }
    printf("%02d:%02d:%02d\n", ans/3600, ans%3600/60, ans%60);
    return 0;

}

相關文章