天天看點

Bailian2933 停車場收費【水題】

Bailian2933 停車場收費

問題簡述:(略)

問題分析:常見的分段計算問題。需要注意輸入輸出和計算類型,一般而言,在OJ上做題,輸入和計算類型用double,輸出時按float格式輸出,這也許是因為測試資料是按照這樣來做的。

程式說明:同時給出C++語言和C語言的2種題解程式。

參考連結:(略)

題記:把計算邏輯跟輸出處理分開,是一種好的做法。

AC的C++語言程式如下:

/* Bailian2933 停車場收費 */

#include <bits/stdc++.h>

using namespace std;

int main()
{
    double time, ans;
    while(~scanf("%lf", &time)) {
        if(time <= 3) ans = 5.0;
        else {
            ans = 5 + (time - 3) * 2;
            if(ans > 40) ans = 40.0;
        }

        printf("%.2f\n", ans);
    }

    return 0;
}
           

AC的C語言程式如下:

/* Bailian2933 停車場收費 */

#include <stdio.h>

int main()
{
    double time, ans;
    while(~scanf("%lf", &time)) {
        if(time <= 3) ans = 5.0;
        else {
            ans = 5 + (time - 3) * 2;
            if(ans > 40) ans = 40.0;
        }

        printf("%.2f\n", ans);
    }

    return 0;
}
           

繼續閱讀